Skip to content

feat(react): mint pre-flight simulation, progress modal, success view, and transfer form card - #1283

Open
Depo-dev wants to merge 1 commit into
BCPathway:mainfrom
Depo-dev:feature/1207-1210-mint-transfer-screens
Open

Depo-dev wants to merge 1 commit into
BCPathway:mainfrom
Depo-dev:feature/1207-1210-mint-transfer-screens

Conversation

@Depo-dev

Copy link
Copy Markdown

Summary

Phase 3 Mint/Transfer UI work, covering four linked issues:

  • [Phase 3] Add Pre-flight Simulation Preview for Minting #1207 — Pre-flight simulation preview for minting: useSimulateTransaction runs simulateMint before prompting a wallet signature, surfaces the estimated resource fee, and shows the exact revert reason on a simulation failure (no signature prompt in that case).
  • [Phase 3] Build Mint Submission Progress Modal #1208 — Mint submission progress modal: MintScreen shows a step-labelled progress indicator through Checking transaction… → Waiting for signature… → Submitting to Stellar….
  • [Phase 3] Build Mint Success View with Explorer Link #1209 — Mint success view with explorer link: a green success banner shows the minted amount, recipient, a copyable transaction hash, a ExternalLink to a block explorer (via the new explorerUrl prop), and a "Mint another" action that resets the form.
  • [Phase 3] Build TransferScreen Form Layout #1210 — TransferScreen restyled as a form card with source address (connected, read-only), destination input, amount input, balance display, and a transfer button, matching MintScreen/MintForm's design tokens.

Changes

  • react/src/hooks.ts: new useSimulateTransaction hook (simulateMint pre-flight, loading/error state, extracts minResourceFee).
  • react/src/components/ExternalLink.tsx (+test): small shared anchor that always opens target="_blank" rel="noreferrer noopener".
  • react/src/screens/MintScreen.tsx (+test): simulate → confirm → submit → success flow described above.
  • react/src/screens/TransferScreen.tsx: card layout, uses theme tokens.
  • react/src/components/index.ts: export ExternalLink.

Testing

  • npm run build --workspace @bc-forge/sdk
  • npm test --workspace @bc-forge/react — 21 suites / 279 tests passing
  • npm run build --workspace @bc-forge/react
  • npm run lint in react/ — no new errors introduced (pre-existing ConnectionStatusBar.tsx/context.tsx no-explicit-any and set-state-in-effect findings are unrelated to this change)

Closes #1207
Closes #1208
Closes #1209
Closes #1210

🤖 Generated with Claude Code

…view, and transfer form card

Closes BCPathway#1207, Closes BCPathway#1208, Closes BCPathway#1209, Closes BCPathway#1210

- useSimulateTransaction: pre-flight simulateMint before signature, surfaces
  estimated fee, throws the RPC revert reason on failure (BCPathway#1207)
- MintScreen: step-labelled progress modal (checking/signing/submitting) for
  the mint lifecycle (BCPathway#1208)
- MintScreen: green success banner with copyable hash, ExternalLink to a
  block explorer, and a Mint another action (BCPathway#1209)
- ExternalLink: shared safe-target-blank anchor component
- TransferScreen: restyled as a form card with source, destination, amount,
  and transfer button, matching the MintScreen/MintForm design tokens (BCPathway#1210)
@drips-wave

drips-wave Bot commented Oct 18, 2026

Copy link
Copy Markdown

@Depo-dev Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant