Skip to content

Add /sign/:id device-flow signing page - #21

Open
0xTitan wants to merge 1 commit into
Digine-Labs:provider-0.14from
0xTitan:v0.14-agent-skills
Open

Add /sign/:id device-flow signing page#21
0xTitan wants to merge 1 commit into
Digine-Labs:provider-0.14from
0xTitan:v0.14-agent-skills

Conversation

@0xTitan

@0xTitan 0xTitan commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Adds the page where a user reviews and signs an agent-proposed register transaction in their own wallet, so the key never leaves the wallet. Part of the device-flow signing feature (see the midenname-agent-skills design/device-flow-signing.md).

What's in here

  • /sign/:id route — fetches the sign request, deserializes the unsigned tx, and re-derives the trust-critical fields (payer, payment token, amount) from the transaction bytes themselves — not from the relay-supplied summary.
  • sender pinning — blocks approval unless the connected wallet is the tx payer.
  • on approve — submits via the existing CustomTransaction path, then PATCH /signed; links to the register note on MidenScan (the wallet returns a UUID, not a tx hash).

Validation

Page rendered + verified headless; full e2e on testnet with a real wallet (deserialize → review → sign → on-chain registration lands).

Add the page where a user reviews and signs an agent-proposed register
transaction in their own wallet, so the key never leaves the wallet (see the
midenname-agent-skills design/device-flow-signing.md).

- /sign/:id route: fetch the sign request, deserialize the unsigned tx, and
  RE-DERIVE the trust-critical fields (payer, payment token, amount) from the
  transaction bytes themselves — not from the relay-supplied summary
- sender pinning: block approval unless the connected wallet is the tx payer
- on approve: submit via the existing CustomTransaction path, then PATCH /signed;
  link to the register note on MidenScan (the wallet returns a UUID, not a tx hash)
- consolidate the backend base on VITE_API_BASE (API_BASE now reads it instead of
  a hardcoded URL; the /sign page reuses it rather than a separate relay var)
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.

1 participant