From 1f14cd475f83c47cca74446e6bf651a05c299d51 Mon Sep 17 00:00:00 2001 From: Kurdistan Tech Ministry Date: Fri, 6 Feb 2026 19:38:59 +0300 Subject: [PATCH] fix: restore web3FromAddress for browser extension signing --- shared/lib/citizenship-workflow.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/shared/lib/citizenship-workflow.ts b/shared/lib/citizenship-workflow.ts index 2be92485..0e130bff 100644 --- a/shared/lib/citizenship-workflow.ts +++ b/shared/lib/citizenship-workflow.ts @@ -4,8 +4,7 @@ // Handles citizenship verification, status checks, and workflow logic import type { ApiPromise } from '@pezkuwi/api'; -// Temporarily disabled for React Native compatibility -// import { web3FromAddress } from '@pezkuwi/extension-dapp'; +import { web3FromAddress as web3FromAddressOriginal } from '@pezkuwi/extension-dapp'; import type { InjectedAccountWithMeta } from '@pezkuwi/extension-inject/types'; import type { Signer } from '@pezkuwi/api/types'; @@ -28,10 +27,13 @@ interface InjectedExtension { signer: Signer & InjectedSigner; } -// Stub for mobile - TODO: implement proper React Native version -const web3FromAddress = async (_address: string): Promise => { - // In React Native, we'll use a different signing mechanism - throw new Error('web3FromAddress not implemented for React Native yet'); +// Use real extension in browser, throw error in unsupported environments +const web3FromAddress = async (address: string): Promise => { + // Check if we're in a browser environment with extension support + if (typeof window !== 'undefined' && (window as any).injectedWeb3) { + return web3FromAddressOriginal(address) as Promise; + } + throw new Error('Pezkuwi Wallet extension not available. Please install the extension.'); }; // ========================================