Skip to content

WIP: feat: governance proposal forms - #16

Draft
chadoh wants to merge 2 commits into
mainfrom
feat/governance
Draft

WIP: feat: governance proposal forms#16
chadoh wants to merge 2 commits into
mainfrom
feat/governance

Conversation

@chadoh

@chadoh chadoh commented Jun 11, 2026

Copy link
Copy Markdown
Member

Given that Tansu's UI does not currently allow creating the governance
proposals needed by Stellar Registry, this creates forms that hit a
yet-to-be-created API endpoint that will make CLI calls to create Tansu
proposals for standard governance operations. These governance
operations include:

  • add wasm to root registry
  • add contract to root registry
  • create a new subregistry
  • change wasm owner
  • change contract owner

Eventually, these will all be implemented as templates on Tansu.

Given that Tansu's UI does not currently allow creating the governance
proposals needed by Stellar Registry, this creates forms that hit a
yet-to-be-created API endpoint that will make CLI calls to create Tansu
proposals for standard governance operations. These governance
operations include:

- add wasm to root registry
- add contract to root registry
- create a new subregistry
- change wasm owner
- change contract owner

Eventually, these will all be implemented as templates on Tansu.
@chadoh

chadoh commented Jun 11, 2026

Copy link
Copy Markdown
Member Author

This is a suggestion. I'm not sure that we'll need it. For now, it at least makes these contract IDs easy to copy/paste as we run some CLI experiments.

Adds the five governance proposal forms described in the PR body:
add wasm to root registry, add contract to root registry, create a
new subregistry, change wasm owner, and change contract owner.

- app/lib/governance.ts declares each operation's fields (named to
  match the real stellar-registry-cli args) plus shared validation
  and a submitGovernanceProposal() mock — there's no real backend
  yet, and the eventual submission path will open a GitHub issue
  rather than hit a CLI-backed API endpoint, so this seam is what
  gets replaced once that exists.
- New /governance index page plus one route per operation
  (routes/governance*.tsx), sharing a single GovernanceForm
  presentational component and page action so the five forms don't
  duplicate markup or validation wiring.
- New Label and Textarea components, matching the existing
  shadcn/css pattern used by Input/Button/Card.
- "Governance" added to the header nav and footer, alongside
  WASMs/Contracts.

Continues #16, which only scaffolded the
TANSU_ID/REGISTRY_ID/MANAGER_ID env vars.
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.

2 participants