From 76e99689e55e546e4f62de28b5575d0002196ed4 Mon Sep 17 00:00:00 2001 From: Kurdistan Tech Ministry Date: Wed, 4 Feb 2026 12:00:48 +0300 Subject: [PATCH] fix: resolve all lint errors for CI/CD workflow - Remove unused supabase import from AppLayout.tsx - Replace any types with proper type assertions in XCMTeleportModal.tsx - Remove unused events parameter from signAndSend callback - Fix any types in PezkuwiContext.tsx debug code - Escape apostrophe in EmailVerification.tsx - Remove unused ArrowDownRight import from AccountBalance.tsx --- web/src/components/AccountBalance.tsx | 2 +- web/src/components/AppLayout.tsx | 1 - web/src/components/XCMTeleportModal.tsx | 14 +++++++------- web/src/contexts/PezkuwiContext.tsx | 5 +++-- web/src/pages/EmailVerification.tsx | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/web/src/components/AccountBalance.tsx b/web/src/components/AccountBalance.tsx index 7e9abd76..c4565add 100644 --- a/web/src/components/AccountBalance.tsx +++ b/web/src/components/AccountBalance.tsx @@ -1,7 +1,7 @@ import React, { useEffect, useState } from 'react'; import { usePezkuwi } from '@/contexts/PezkuwiContext'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; -import { Wallet, TrendingUp, ArrowDownRight, RefreshCw, Award, Plus, Coins, Send, Shield, Users, Fuel } from 'lucide-react'; +import { Wallet, TrendingUp, RefreshCw, Award, Plus, Coins, Send, Shield, Users, Fuel } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { ASSET_IDS, getAssetSymbol } from '@pezkuwi/lib/wallet'; import { AddTokenModal } from './AddTokenModal'; diff --git a/web/src/components/AppLayout.tsx b/web/src/components/AppLayout.tsx index f9b0f108..3ba3debd 100644 --- a/web/src/components/AppLayout.tsx +++ b/web/src/components/AppLayout.tsx @@ -27,7 +27,6 @@ import { useWebSocket } from '@/contexts/WebSocketContext'; import { StakingDashboard } from './staking/StakingDashboard'; import { MultiSigWallet } from './wallet/MultiSigWallet'; import { useWallet } from '@/contexts/WalletContext'; -import { supabase } from '@/lib/supabase'; import { PezkuwiWalletButton } from './PezkuwiWalletButton'; import { DEXDashboard } from './dex/DEXDashboard'; import { P2PDashboard } from './p2p/P2PDashboard'; diff --git a/web/src/components/XCMTeleportModal.tsx b/web/src/components/XCMTeleportModal.tsx index 37a50390..3c0df498 100644 --- a/web/src/components/XCMTeleportModal.tsx +++ b/web/src/components/XCMTeleportModal.tsx @@ -75,8 +75,8 @@ export const XCMTeleportModal: React.FC = ({ isOpen, onCl // Relay chain balance if (api && isApiReady) { try { - const accountInfo = await api.query.system.account(selectedAccount.address); - const free = (accountInfo as any).data.free.toString(); + const accountInfo = await api.query.system.account(selectedAccount.address) as { data: { free: { toString(): string } } }; + const free = accountInfo.data.free.toString(); const balanceNum = Number(free) / 1e12; setRelayBalance(balanceNum.toFixed(4)); } catch (err) { @@ -87,8 +87,8 @@ export const XCMTeleportModal: React.FC = ({ isOpen, onCl // Asset Hub balance if (assetHubApi && isAssetHubReady) { try { - const accountInfo = await assetHubApi.query.system.account(selectedAccount.address); - const free = (accountInfo as any).data.free.toString(); + const accountInfo = await assetHubApi.query.system.account(selectedAccount.address) as { data: { free: { toString(): string } } }; + const free = accountInfo.data.free.toString(); const balanceNum = Number(free) / 1e12; setAssetHubBalance(balanceNum.toFixed(4)); } catch (err) { @@ -99,8 +99,8 @@ export const XCMTeleportModal: React.FC = ({ isOpen, onCl // People chain balance if (peopleApi && isPeopleReady) { try { - const accountInfo = await peopleApi.query.system.account(selectedAccount.address); - const free = (accountInfo as any).data.free.toString(); + const accountInfo = await peopleApi.query.system.account(selectedAccount.address) as { data: { free: { toString(): string } } }; + const free = accountInfo.data.free.toString(); const balanceNum = Number(free) / 1e12; setPeopleBalance(balanceNum.toFixed(4)); } catch (err) { @@ -228,7 +228,7 @@ export const XCMTeleportModal: React.FC = ({ isOpen, onCl const unsub = await tx.signAndSend( selectedAccount.address, { signer: injector.signer }, - ({ status, events, dispatchError }) => { + ({ status, dispatchError }) => { if (status.isInBlock) { if (import.meta.env.DEV) console.log(`XCM Teleport in block: ${status.asInBlock}`); setTxHash(status.asInBlock.toHex()); diff --git a/web/src/contexts/PezkuwiContext.tsx b/web/src/contexts/PezkuwiContext.tsx index 47a2a45f..052ccd8c 100644 --- a/web/src/contexts/PezkuwiContext.tsx +++ b/web/src/contexts/PezkuwiContext.tsx @@ -114,9 +114,10 @@ export const PezkuwiProvider: React.FC = ({ // Debug: Check Junction type definition try { const junctionType = apiInstance.createType('XcmV3Junction'); - console.log('🔍 XCM Junction type keys:', (junctionType as any).defKeys || Object.keys(junctionType.toJSON() || {})); + const junctionObj = junctionType as unknown as { defKeys?: string[] }; + console.log('🔍 XCM Junction type keys:', junctionObj.defKeys || Object.keys(junctionType.toJSON() || {})); // Expose api for console debugging - (window as any).__PEZKUWI_API__ = apiInstance; + (window as unknown as { __PEZKUWI_API__: typeof apiInstance }).__PEZKUWI_API__ = apiInstance; console.log('💡 API exposed as window.__PEZKUWI_API__ for debugging'); } catch (e) { console.log('⚠️ Could not check Junction type:', e); diff --git a/web/src/pages/EmailVerification.tsx b/web/src/pages/EmailVerification.tsx index d1a17f97..ad3e8734 100644 --- a/web/src/pages/EmailVerification.tsx +++ b/web/src/pages/EmailVerification.tsx @@ -101,7 +101,7 @@ export default function EmailVerification() {

Please check your email and click the verification link to activate your account.

-

If you don't see the email, check your spam folder.

+

If you don't see the email, check your spam folder.

{error && (