Skip to content

feat(SorobanPanel,SorobanScreen): no contract ID history, no method suggestions, no Copy result button for large return values #204

Description

@k-deejah

Problem

Three issues affect the SorobanScreen and SorobanPanel UX for users frequently interacting with the same contract.

1. SorobanPanel has no history of previously used contract IDs

A developer testing the same contract repeatedly must re-type the full contract ID on every session. Storing the last 5 used contract IDs in localStorage and surfacing them as a dropdown would significantly reduce friction.

2. SorobanPanel has no method autocomplete or recent methods list

After a successful invocation, the method name is not saved. Storing recent methods per contract ID and showing them as suggestions in the method input would speed up repeated interactions.

3. SorobanScreen has no "Copy full result" button for large contract return values

The result <pre> block shows JSON output but for large results users must manually select all the text. A "Copy result" button that writes the full JSON to the clipboard would improve the developer workflow.

Solution

  1. Store the last 5 contract IDs in localStorage["sorokit-recent-contracts"] and render a <datalist> on the Contract ID input.
  2. Store recent methods per contract in localStorage["sorokit-recent-methods"] and render as <datalist> suggestions on the method input.
  3. Add a "Copy result" button to the result block in SorobanPanel using the clipboard write pattern.

Acceptance Criteria

  • Contract ID input shows recent contracts from localStorage as suggestions
  • Method input shows recent methods for the current contract as suggestions
  • "Copy result" button appears in the result block and writes to clipboard
  • npm run build passes

Note for Contributors: Write a clear PR description. Include screenshots of the contract ID autocomplete and the "Copy result" button.

Metadata

Metadata

Labels

Stellar WaveIssues in the Stellar wave programenhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions