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
- Store the last 5 contract IDs in
localStorage["sorokit-recent-contracts"] and render a <datalist> on the Contract ID input.
- Store recent methods per contract in
localStorage["sorokit-recent-methods"] and render as <datalist> suggestions on the method input.
- Add a "Copy result" button to the result block in
SorobanPanel using the clipboard write pattern.
Acceptance Criteria
Note for Contributors: Write a clear PR description. Include screenshots of the contract ID autocomplete and the "Copy result" button.
Problem
Three issues affect the
SorobanScreenandSorobanPanelUX for users frequently interacting with the same contract.1.
SorobanPanelhas no history of previously used contract IDsA developer testing the same contract repeatedly must re-type the full contract ID on every session. Storing the last 5 used contract IDs in
localStorageand surfacing them as a dropdown would significantly reduce friction.2.
SorobanPanelhas no method autocomplete or recent methods listAfter 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.
SorobanScreenhas no "Copy full result" button for large contract return valuesThe 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
localStorage["sorokit-recent-contracts"]and render a<datalist>on the Contract ID input.localStorage["sorokit-recent-methods"]and render as<datalist>suggestions on the method input.SorobanPanelusing the clipboard write pattern.Acceptance Criteria
localStorageas suggestionsnpm run buildpasses