Conversation
68f58a8 to
3939779
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Adds Ledger-backed address resolution to stellar keys fund by reusing the existing keys address argument shape, so funding can target a connected hardware wallet without requiring a named local identity.
Changes:
- Replaces
keys fund’s custom address args withpublic_key::Cmd, enabling--ledgerand optional--hd-path. - Updates
keys fundsuccess output so unnamed Ledger funding prints the resolved public key instead of a missing identity name. - Refreshes help/docs and parser tests for the new
keys fund --ledgerCLI shape.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| FULL_HELP_DOCS.md | Updates the documented keys fund usage and options to mention optional NAME and --ledger. |
| cmd/soroban-cli/src/commands/keys/public_key.rs | Removes the older shared Args wrapper so Cmd becomes the shared address-resolution shape. |
| cmd/soroban-cli/src/commands/keys/fund.rs | Switches keys fund to the shared address command args, adjusts the status label, and adds parser tests. |
Comments suppressed due to low confidence (1)
FULL_HELP_DOCS.md:1176
- The help text is now inconsistent with the command parser:
NAMEis shown as optional in the usage line, but the argument description still says the default test identity is used when it is omitted. In the new parser, omitting bothNAMEand--ledgeris rejected, so these docs will send users to a command that now fails.
**Usage:** `stellar keys fund [OPTIONS] [NAME]`
###### **Arguments:**
- `<NAME>` — Name of identity to lookup, default test identity used if not provided
Member
Author
|
Fixed the stale |
leighmcculloch
approved these changes
May 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Add a
--ledgerflag tostellar keys fundthat connects to an attached Ledger hardware wallet, derives the public key atm/44'/148'/N', and funds the resulting account via the configured Friendbot.Ndefaults to0and can be set with--hd-path N.fundnow flattenspublic_key::Cmddirectly (the temporaryArgsshape introduced in #2557 to keep--ledgerofffundis removed —Cmdis the single shape used by bothkeys addressandkeys fund). TheAccount <X> funded on <network>status line uses the resolved public key for<X>only when no name was supplied; the existing message format is unchanged when funding a named identity.--ledgeris mutually exclusive with the positional identity name; if neither is provided, clap rejects the command. Errors from a missing/locked device or a closed Stellar app surface through the existingsigner::ledgererror chain. Friendbot errors propagate throughnetwork::Errorexactly as they do today.Verified end-to-end against a real Ledger device.
Closes #2555.
Why
Hardware wallets are a primary key-management option in the CLI, and funding a freshly-derived address on testnet/futurenet is a routine first step in any development workflow. Without
--ledgeronfund, Ledger users have to derive their address out-of-band and fund it via other means — inconsistent with every other key type, which can be funded directly.Known limitations
keys add --ledgeryet, so each invocation re-derives from the device and--hd-pathlives only on the current call.