Skip to content

Feature/fireblocks release#1358

Open
ronaldsg20 wants to merge 10 commits intomainfrom
feature/fireblocks-release
Open

Feature/fireblocks release#1358
ronaldsg20 wants to merge 10 commits intomainfrom
feature/fireblocks-release

Conversation

@ronaldsg20
Copy link
Member

No description provided.

@ronaldsg20 ronaldsg20 changed the base branch from feature/3.2 to security/3.2 December 17, 2025 20:40
@github-actions
Copy link

github-actions bot commented Dec 17, 2025

Dependency Review

The following issues were found:

  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 1 package(s) with unknown licenses.

View full job summary

@ronaldsg20 ronaldsg20 force-pushed the feature/fireblocks-release branch 2 times, most recently from 40a16dd to d68435f Compare December 17, 2025 21:14
Base automatically changed from security/3.2 to feature/3.2 December 18, 2025 12:48
Base automatically changed from feature/3.2 to main December 18, 2025 19:16
@ronaldsg20 ronaldsg20 force-pushed the feature/fireblocks-release branch 2 times, most recently from ea789a1 to 42c9b8b Compare December 19, 2025 14:12
@ronaldsg20 ronaldsg20 requested a review from Copilot December 19, 2025 14:12
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR integrates Fireblocks wallet support into the PowPeg application, enabling users to perform peg-in transactions using Fireblocks vault accounts. The implementation includes a new setup flow for Fireblocks credentials (API key and private key file), JWT-based authentication, and a dedicated form for handling peg-in transactions without traditional wallet connections.

Key Changes:

  • Added Fireblocks wallet integration with credential management via IndexedDB
  • Implemented JWT authentication utilities for secure Fireblocks API communication
  • Created new UI components for Fireblocks setup and peg-in workflows

Reviewed changes

Copilot reviewed 21 out of 43 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
vue.config.js Added PWA configuration with icons and manifest settings
src/pegin/components/PegoutForm.vue Added debug display for pegout quotes
src/pegin/views/SetUpIBI.vue New dialog component for Fireblocks credential configuration
src/pegin/views/NoWalletPeginForm.vue New form component for Fireblocks-based peg-in transactions
src/common/utils/jwtBuilder.ts JWT builder utilities for Fireblocks API authentication
src/common/utils/txIdGenerator.ts Transaction ID generation utility
src/common/utils/files.ts File reading utility for credential handling
src/common/services/FireblocksService.ts Service class for Fireblocks API interactions
src/common/composables/useIndexdedDB.ts IndexedDB composable for persistent credential storage
src/common/types/Fireblocks.ts TypeScript type definitions for Fireblocks entities
src/common/router/index.ts Added routes for Fireblocks setup and peg-in flows
src/App.vue Updated CSP and added storage persistence request
package.json Added PWA plugin and Trezor type definitions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

},
},
{
path: '/setupIBi',

This comment was marked as outdated.

@@ -0,0 +1,78 @@
export function useIndexedDB() {
Copy link

Copilot AI Dec 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling in filename from 'useIndexdedDB.ts' to 'useIndexedDB.ts'.

Copilot uses AI. Check for mistakes.
computed, watch,
} from 'vue';
import { mdiArrowRight, mdiFileUpload, mdiKey } from '@mdi/js';
import { useIndexedDB } from '@/common/composables/useIndexdedDB';

This comment was marked as outdated.

import type { FireblocksTransactionParams, VaultAccount } from '@/common/types/Fireblocks';
import { TransferPeerPathType } from '@/common/types/Fireblocks';
import { appendRecaptcha, Machine, readFileAsText } from '@/common/utils';
import { useIndexedDB } from '@/common/composables/useIndexdedDB';

This comment was marked as outdated.

src/App.vue Outdated
if (navigator.storage && navigator.storage.persist) {
navigator.storage.persist()
.then((persistent) => {
console.log(`Almacenamiento persistente: ${persistent}`);

This comment was marked as outdated.

txError.value = new ServiceError(
'FireblocksService',
'getVaultAccounts',
'The credential are invalid or expired, please check them and try again',

This comment was marked as outdated.

@@ -0,0 +1,78 @@
export function useIndexedDB() {
const dbName = 'my-db';

This comment was marked as outdated.

destination: {
type: TransferPeerPathType.OneTimeAddress,
subType: 'External',
name: 'LBC BTC Address',

This comment was marked as outdated.

@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
23.8% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@ronaldsg20 ronaldsg20 force-pushed the feature/fireblocks-release branch from 42c9b8b to 6d35a3c Compare January 20, 2026 21:38
ronaldsg20 and others added 6 commits January 29, 2026 15:12
Fixing types on transsaction request

Fix Base url path on FireblocksService

Add Fireblocks wallet button and NoWalletPegin form

		I've defined a new wallet button for fireblocks on pegin,
		it is connected to a new view to create a pegin tx with no wallet
		previously connected

Finish Flyover flow using fireblocks on POC

Remove home buttons and rename Fireblocks form buttons

Remove native option

Accepting quote and using lps destination address

Check user privileges before enable the peginForm on fireblocks

Fix error handling on the api user role

Increase app version to 3.2

Remove IBI console

Include JWT build function to create the fireblocks request on the UI

		I've defined the JWT creation method using the provede .key file
		and the defined methods in the FireblocksService in order to prevent
		sending credentials to the backend

Update Fireblocks service to create the JWT on the ui

Avoid use of Math.random in the txIdGenerator

Include Vault selector for the Fireblock account
@ronaldsg20 ronaldsg20 force-pushed the feature/fireblocks-release branch from 6d35a3c to c41cab2 Compare January 29, 2026 14:27
removing files and improve validations on form
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 2, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
23.8% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@rsksmart rsksmart deleted a comment from Copilot AI Feb 2, 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