Skip to content

Feat: Firo network#804

Merged
kvhnuke merged 2 commits into
enkryptcom:firoorg-feature/add-firo-networkfrom
firoorg:feature/add-firo-network
Jun 4, 2026
Merged

Feat: Firo network#804
kvhnuke merged 2 commits into
enkryptcom:firoorg-feature/add-firo-networkfrom
firoorg:feature/add-firo-network

Conversation

@VahanSargsyan

@VahanSargsyan VahanSargsyan commented Jun 4, 2026

Copy link
Copy Markdown

Summary by CodeRabbit

Release Notes

  • New Features
    • Added support for Firo cryptocurrency (mainnet and testnet)
    • Introduced Spark address functionality for private transactions on Firo
    • Added ability to send and receive using Spark addresses
    • Implemented coin anonymization/mixing for Firo
    • Added UI tabs to switch between transparent and Spark address modes

@coderabbitai

coderabbitai Bot commented Jun 4, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

Adds full FIRO/Spark support: wallet + Electrum, Spark WASM helpers, mint/spend flows, IndexedDB-based sync with worker, provider/API and network configs, and UI send/verify, activity, and deposit updates. Includes background/keyring wiring and tests/config tweaks.

Changes

Firo/Spark end-to-end support

Layer / File(s) Summary
Repo config, dependencies, and docs
.gitignore, README.md, package.json, packages/extension/*, packages/keyring/package.json, packages/name-resolution/tests/*, packages/types/src/networks.ts
Adds FIRO to docs/enums and dependencies for FIRO/Spark; minor TS/Vite config and test scaffolds.
Core types and provider typing
packages/extension/src/providers/bitcoin/types/*, packages/extension/src/types/*
Introduces FIRO tx/UTXO types, extends BitcoinNetwork options and provider enums, and adds spark activity type.
Electrum client and BaseFiroWallet implementation
.../electrum-client/*, .../firo-wallet/*
Implements Electrum models/client and a FIRO HD wallet with UTXO/balance, anonymity sets, and broadcast.
WASM loader and Spark helper utilities
.../utils/wasm-*.ts, .../spark-handler/*
Adds WASM loaders and Spark helpers for temp tx, fees, mint recipients, coin info/serialization, and context.
Keyring and background unlock integration
.../libs/keyring/*, .../libs/background/index.ts, packages/keyring/src/index.ts
Exposes mnemonic/private key access and primes BaseFiroWallet on unlock.
Providers/APIs, utils, and network registration
.../libs/api-firo.ts, .../libs/activity-handlers/*, .../libs/utils.ts, .../networks/*, .../libs/api.ts
Adds FIRO provider/API, activity handler, Spark address validator, and registers FIRO networks.
IndexedDB, sync loops, worker, composables, and App wiring
.../ui/action/db/indexedDB.ts, .../updateAndSync/*, .../workers/sparkCoinInfoWorker.ts, .../composables/*, .../App.vue, .../router/index.ts, .../main.ts
Implements DB, coin/tag sync and worker, composables, and app wiring for synchronization.
Send flows, signer, and verify views
.../ui/libs/signer.ts, .../ui/send-transaction/*, .../ui/action/views/verify-send-*-spark-transaction/*
Adds FIRO signer, Spark/transparent send tabs, and verification flows for mint and spend.
UI accounts, deposit, assets, activity, and misc
.../components/*, .../views/*
Shows Spark address in headers/lists, deposit tabs, private balance and Spark activities, asset totals, and app-menu addition.
Accounts filtering/init and minor utils
.../libs/utils/accounts.ts, .../libs/utils/initialize-wallet.ts, .../libs/utils/number-formatter.ts
Filters FIRO accounts by base path, initializes default FIRO account, and minor formatter suppression.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant UI as UI (Send Spark)
  participant Wallet as BaseFiroWallet
  participant WASM as Spark WASM
  participant DB as IndexedDB
  participant Electrum as FiroElectrum/API

  UI->>Wallet: getTransactionsAddresses()
  Wallet-->>UI: addresses
  UI->>DB: read myCoins / sets / tags
  UI->>WASM: js_createSparkSpendTransaction(recipients, coins, coverSets)
  WASM-->>UI: serialized spend payload + scripts
  UI->>Wallet: build final tx hex (spark payload + scripts)
  UI->>Electrum: broadcast(rawTx)
  Electrum-->>UI: txid
Loading

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

Suggested reviewers

  • kvhnuke
  • gamalielhere
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

@kvhnuke kvhnuke changed the base branch from develop to firoorg-feature/add-firo-network June 4, 2026 19:57
@kvhnuke kvhnuke merged commit 7d8c92a into enkryptcom:firoorg-feature/add-firo-network Jun 4, 2026
1 of 3 checks passed
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