Skip to content

Conversation

@florrdv
Copy link
Contributor

@florrdv florrdv commented Nov 13, 2025

Pull Request Checklist


PR-Codex overview

This PR introduces functionality for exporting private keys in an encrypted format, enhancing security for both single and multi-owner accounts. It adds new interfaces and methods to facilitate this process, allowing users to export their private keys securely.

Detailed summary

  • Added exportPrivateKeyEncrypted method to export a private key encrypted with a public key.
  • Introduced ExportPrivateKeyParams and MultiOwnerExportPrivateKeyParams interfaces for export parameters.
  • Created ExportPrivateKeyEncryptedResult interface for the export result structure.
  • Implemented error handling for account retrieval and export bundle validation.
  • Added experimental_multiOwnerExportPrivateKeyEncrypted method for multi-owner organizations, leveraging the new export functionality.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@vercel
Copy link

vercel bot commented Nov 13, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
aa-sdk-ui-demo Ready Ready Preview, Comment Dec 19, 2025 11:51pm

@graphite-app
Copy link
Contributor

graphite-app bot commented Nov 13, 2025

How to use the Graphite Merge Queue

Add the label graphite-merge-queue to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

@github-actions
Copy link

github-actions bot commented Nov 13, 2025

🌿 Documentation Preview

Name Status Preview Updated (UTC)
Alchemy Docs ✅ Ready 🔗 Visit Preview Dec 19, 2025, 11:44 PM

jakehobbs
jakehobbs previously approved these changes Nov 13, 2025
Copy link
Contributor

@jakehobbs jakehobbs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks fine to me, but left a question in slack

opts.type === "ETHEREUM"
? "ADDRESS_FORMAT_ETHEREUM"
: "ADDRESS_FORMAT_SOLANA";
const keyFormat = opts.type === "ETHEREUM" ? "HEXADECIMAL" : "SOLANA";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lol that the key format type is solana here and not b58

@github-actions github-actions bot temporarily deployed to docs-preview December 19, 2025 21:57 Inactive
@github-actions github-actions bot temporarily deployed to docs-preview December 19, 2025 21:57 Inactive
jakehobbs
jakehobbs previously approved these changes Dec 19, 2025

const wallets = await turnkeyClient.getWalletAccounts({ organizationId });
const account = wallets.accounts.find(
(account) => account.addressFormat === targetAddressFormat,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it should be impossible for one TK sub-org to have multiple eth wallets, correct?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

correct in our setup

@github-actions github-actions bot temporarily deployed to docs-preview December 19, 2025 23:35 Inactive
@github-actions github-actions bot temporarily deployed to docs-preview December 19, 2025 23:35 Inactive
@github-actions github-actions bot temporarily deployed to docs-preview December 19, 2025 23:43 Inactive
@florrdv florrdv merged commit bfb3789 into main Dec 19, 2025
13 checks passed
@florrdv florrdv deleted the flor/feat/private-key-export branch December 19, 2025 23:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants