Skip to content

Sign smart account auth entries with signer plugins - #2881

Open
pselle wants to merge 1 commit into
stellar:mainfrom
theahaco:smart-account-signer-plugins
Open

pselle wants to merge 1 commit into
stellar:mainfrom
theahaco:smart-account-signer-plugins

Conversation

@pselle

@pselle pselle commented Nov 2, 2026 •

Copy link
Copy Markdown

Part of #2762. A narrower take on #2400: smart account (C-address) auth entries are signed by a stellar-signer-<name> plugin that is configured once per key with stellar keys add <name> --smart-account C… --signer-plugin <name>.

The plugin gets #2400's sign_auth request on stdin, plus payload (the signature_payload that __check_auth sees). It returns the signature ScVal as base64 XDR. Recording-mode simulation skips __check_auth, so after a smart account signs, the transaction is re-simulated in enforce mode to get the right footprint and fee.

Envelope signing and CAP-71 delegates are left for later.

A smart account's signature is whatever its `__check_auth` expects, so
the CLI can't build it. `stellar keys add <name> --smart-account C...
--signer-plugin <plugin>` saves a smart account identity; when an auth
entry needs that contract's signature, `stellar-signer-<plugin>` gets the
signature payload and invocation as JSON on stdin and returns the
credential's signature ScVal. After a smart account signs, the
transaction is re-simulated in enforce mode so `__check_auth` is in the
footprint and fee.

Refs stellar#2762.

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog (Not Ready)

Development

Successfully merging this pull request may close these issues.

1 participant