Skip to content

Commit b24688e

Browse files
authored
feat: Plat-6521 add turnkey hosted signer support (evm, solana) (#174)
* chore: add solana turnkey initial support * chore: evm improvements * chore: refactor turnkey service * chore: improvements * chore: add tests * chore: add more tests * chore: add more tests * chore: add more tests * chore: refactor and lint * chore: remove println * chore: cargo update * chore: add turnkey docs section * chore: add examples
1 parent e31405b commit b24688e

File tree

25 files changed

+2851
-35
lines changed

25 files changed

+2851
-35
lines changed

Cargo.lock

Lines changed: 56 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ secrets = { version = "1.2"}
7373
libsodium-sys = "0.2.7"
7474
zeroize = "1.8"
7575
subtle = "2.6"
76+
p256 = { version = "0.13.2" }
7677

7778
[dev-dependencies]
7879
cargo-llvm-cov = "0.6"

docs/modules/ROOT/pages/index.adoc

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,8 @@ For quick setup with various configurations, check the https://github.com/OpenZe
200200
* `basic-example-metrics`: Setup with Prometheus and Grafana metrics
201201
* `vault-secret-signer`: Using HashiCorp Vault for key management
202202
* `vault-transit-signer`: Using Vault Transit for secure signing
203+
* `evm-turnkey-signer`: Using Turnkey for EVM secure signing
204+
* `solana-turnkey-signer`: Using Turnkey for Solana secure signing
203205
204206
Each example includes a README with step-by-step instructions and Docker Compose configuration.
205207
====
@@ -460,6 +462,7 @@ Supported signer types:
460462
- `vault`: vault secret signer
461463
- `vault_cloud`: hosted vault secret signer
462464
- `vault_transit`: vault transit signer
465+
- `turnkey`: turnkey signer
463466

464467
Available configuration fields
465468
[cols="1,1,2"]
@@ -609,6 +612,37 @@ Available configuration fields
609612
|===
610613

611614

615+
`turnkey` type config:
616+
[cols="1,1,2"]
617+
|===
618+
|Field |Type |Description
619+
620+
| api_public_key
621+
| String
622+
| The public key associated with your Turnkey API access credentials. Used for authentication to the Turnkey signing service.
623+
624+
| api_private_key.type
625+
| String
626+
| Type of value source (`env` or `plain`)
627+
628+
| api_private_key.value
629+
| String
630+
| The Turnkey API private key or environment variable name containing it. Used with the public key to authenticate API requests.
631+
632+
| organization_id
633+
| String
634+
| Your unique Turnkey organization identifier. Required to access resources within your specific organization.
635+
636+
| private_key_id
637+
| String
638+
| The unique identifier of the private key in your Turnkey account that will be used for signing operations.
639+
640+
| public_key
641+
| String
642+
| The public key corresponding to the private key identified by private_key_id. Used for address derivation and signature verification.
643+
|===
644+
645+
612646
==== 2. Notifications
613647

614648
* `notifications` array, which should contain, at least, one valid configuration:

0 commit comments

Comments
 (0)