Skip to content

feat: add Firo network support#16

Open
reubenyap wants to merge 2 commits intorosen-bridge:devfrom
reubenyap:cursor/-bc-2b025ca2-9368-47a2-ac62-6845cce1b479-2154
Open

feat: add Firo network support#16
reubenyap wants to merge 2 commits intorosen-bridge:devfrom
reubenyap:cursor/-bc-2b025ca2-9368-47a2-ac62-6845cce1b479-2154

Conversation

@reubenyap
Copy link
Copy Markdown

Summary

This PR adds complete Firo chain integration to the Rosen Bridge UI, following the established UTXO chain pattern used by Doge and Bitcoin.

Note: This PR supersedes #15 and incorporates all of its changes along with fixes for the review feedback raised there.

Commits

The PR is structured as two commits for easy review:

  1. feat: add Firo network support — The full Firo integration (equivalent to the changes in add firo support #15)
  2. fix: address review feedback on Firo integration — Fixes for the issues identified in the add firo support #15 review

Changes

Firo Integration (commit 1)

  • networks/firo/: Network package with client class, constants, types, UTXO selection, transaction generation, and BlockCypher API utilities
  • wallets/firo-wallet/: Wallet package with browser extension integration (connect, sign, broadcast)
  • apps/rosen/: App wiring with server actions, lock address config, and wallet registration
  • packages/constants: Add Firo to NETWORKS (index 7, native token: firo)
  • packages/icons: Add Firo network SVG icon
  • packages/utils: Add Firo explorer URLs (address, token, tx)
  • apps/rosen-service: Gracefully skip unconfigured chains in commitment extractor registration
  • apps/rosen/.env.example: Add FIRO_BLOCKCYPHER_API variable

Review Fixes (commit 2)

Addresses the feedback from #15:

  • build.sh: Add networks/firo and wallets/firo-wallet workspaces to the build script (per BEK documentation requirement, as noted by @abdolian)
  • firo.svg: Remove XML declaration and unnecessary attributes; keep only viewBox and xmlns consistent with other network SVGs (as noted by @abdolian)
  • getMaxTransfer.ts: Fix typo opRetrunDataLengthopReturnDataLength
  • utils.ts: Fix incorrect JSDoc @param references

cursoragent and others added 2 commits April 4, 2026 16:23
Add complete Firo chain integration following the established UTXO chain
pattern (Doge/Bitcoin):

- networks/firo: Network package with client, constants, types, UTXO
  selection, transaction generation, and BlockCypher API utilities
- wallets/firo-wallet: Wallet package with browser extension integration
  (connect, sign, broadcast)
- apps/rosen: App wiring with server actions, lock address config, and
  wallet registration
- packages/constants: Add Firo to NETWORKS (index 7, native token: firo)
- packages/icons: Add Firo network SVG icon
- packages/utils: Add Firo explorer URLs (address, token, tx)
- apps/rosen-service: Gracefully skip unconfigured chains in commitment
  extractor registration

Co-authored-by: Reuben Yap <reuben@firo.org>
- Add networks/firo and wallets/firo-wallet to build.sh (BEK requirement)
- Clean up firo.svg: remove XML declaration and unnecessary attributes,
  keep only viewBox and xmlns (consistent with other network SVGs)
- Fix typo: opRetrunDataLength -> opReturnDataLength in getMaxTransfer.ts
- Fix incorrect JSDoc @param references in utils.ts

Co-authored-by: Reuben Yap <reuben@firo.org>
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 4, 2026

@cursoragent is attempting to deploy a commit to the rosen-bridge Team on Vercel.

A member of the Team first needs to authorize it.

@reubenyap reubenyap mentioned this pull request Apr 4, 2026
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.

3 participants