Rebrand: polkadot → pezkuwi build fixes

- Fixed TypeScript type assertion issues
- Updated imports from api-augment/substrate to api-augment/bizinikiwi
- Fixed imgConvert.mjs header and imports
- Added @ts-expect-error for runtime-converted types
- Fixed all @polkadot copyright headers to @pezkuwi
This commit is contained in:
2026-01-07 02:32:54 +03:00
parent fe2cd390f6
commit 1295c36241
4678 changed files with 26389 additions and 63316 deletions
+2 -2
View File
@@ -102,8 +102,8 @@ export const AccountBalance: React.FC = () => {
if (import.meta.env.DEV) console.log('💰 Fetching token prices from pools...');
// Import utilities for pool account derivation
const { stringToU8a } = await import('@polkadot/util');
const { blake2AsU8a } = await import('@polkadot/util-crypto');
const { stringToU8a } = await import('@pezkuwi/util');
const { blake2AsU8a } = await import('@pezkuwi/util-crypto');
const PALLET_ID = stringToU8a('py/ascon');
// Fetch wHEZ/wUSDT pool reserves (Asset 0 / Asset 1000)
+3 -3
View File
@@ -1,6 +1,6 @@
import React, { useState, useEffect } from 'react';
import { X, Plus, Info, AlertCircle } from 'lucide-react';
import { web3FromAddress } from '@polkadot/extension-dapp';
import { web3FromAddress } from '@pezkuwi/extension-dapp';
import { usePolkadot } from '@/contexts/PolkadotContext';
import { useWallet } from '@/contexts/WalletContext';
import { Button } from '@/components/ui/button';
@@ -162,8 +162,8 @@ export const AddLiquidityModal: React.FC<AddLiquidityModalProps> = ({
if (poolInfo.isSome) {
// Derive pool account using AccountIdConverter
const { stringToU8a } = await import('@polkadot/util');
const { blake2AsU8a } = await import('@polkadot/util-crypto');
const { stringToU8a } = await import('@pezkuwi/util');
const { blake2AsU8a } = await import('@pezkuwi/util-crypto');
const PALLET_ID = stringToU8a('py/ascon');
const poolIdType = api.createType('(u32, u32)', [asset0, asset1]);
+2 -2
View File
@@ -141,8 +141,8 @@ const PoolDashboard = () => {
const lpTokenId = lpTokenData.lpToken;
// Derive pool account using AccountIdConverter
const { stringToU8a } = await import('@polkadot/util');
const { blake2AsU8a } = await import('@polkadot/util-crypto');
const { stringToU8a } = await import('@pezkuwi/util');
const { blake2AsU8a } = await import('@pezkuwi/util-crypto');
// PalletId for AssetConversion: "py/ascon" (8 bytes)
const PALLET_ID = stringToU8a('py/ascon');
+1 -1
View File
@@ -1,6 +1,6 @@
import React, { useState, useEffect } from 'react';
import { X, Minus, AlertCircle, Info } from 'lucide-react';
import { web3FromAddress } from '@polkadot/extension-dapp';
import { web3FromAddress } from '@pezkuwi/extension-dapp';
import { usePolkadot } from '@/contexts/PolkadotContext';
import { useWallet } from '@/contexts/WalletContext';
import { Button } from '@/components/ui/button';
+3 -3
View File
@@ -221,8 +221,8 @@ const TokenSwap = () => {
// AccountIdConverter implementation in substrate:
// blake2_256(&Encode::encode(&(PalletId, PoolId))[..])
if (import.meta.env.DEV) console.log('🔍 Deriving pool account using AccountIdConverter...');
const { stringToU8a } = await import('@polkadot/util');
const { blake2AsU8a } = await import('@polkadot/util-crypto');
const { stringToU8a } = await import('@pezkuwi/util');
const { blake2AsU8a } = await import('@pezkuwi/util-crypto');
// PalletId for AssetConversion: "py/ascon" (8 bytes)
const PALLET_ID = stringToU8a('py/ascon');
@@ -543,7 +543,7 @@ const TokenSwap = () => {
});
// Get signer from extension
const { web3FromAddress } = await import('@polkadot/extension-dapp');
const { web3FromAddress } = await import('@pezkuwi/extension-dapp');
const injector = await web3FromAddress(selectedAccount.address);
// Build transaction based on token types
+1 -1
View File
@@ -111,7 +111,7 @@ export const TransferModal: React.FC<TransferModalProps> = ({ isOpen, onClose, s
try {
// Import web3FromAddress to get the injector
const { web3FromAddress } = await import('@polkadot/extension-dapp');
const { web3FromAddress } = await import('@pezkuwi/extension-dapp');
const injector = await web3FromAddress(selectedAccount.address);
// Convert amount to smallest unit
+1 -1
View File
@@ -1,6 +1,6 @@
import React, { useState, useEffect } from 'react';
import { X, ArrowDown, ArrowUp, AlertCircle, Info, Clock, CheckCircle2 } from 'lucide-react';
import { web3FromAddress } from '@polkadot/extension-dapp';
import { web3FromAddress } from '@pezkuwi/extension-dapp';
import { usePolkadot } from '@/contexts/PolkadotContext';
import { useWallet } from '@/contexts/WalletContext';
import { Button } from '@/components/ui/button';
@@ -68,7 +68,7 @@ export function CommissionSetupTab() {
setProcessing(true);
try {
const { web3FromAddress } = await import('@polkadot/extension-dapp');
const { web3FromAddress } = await import('@pezkuwi/extension-dapp');
const injector = await web3FromAddress(selectedAccount.address);
// Parse addresses (one per line, trim whitespace)
@@ -173,7 +173,7 @@ export function CommissionSetupTab() {
setProcessing(true);
try {
const { web3FromAddress } = await import('@polkadot/extension-dapp');
const { web3FromAddress } = await import('@pezkuwi/extension-dapp');
const injector = await web3FromAddress(selectedAccount.address);
if (import.meta.env.DEV) console.log('Initializing KYC Commission...');
@@ -150,7 +150,7 @@ export function CommissionVotingTab() {
setVoting(proposal.hash);
try {
const { web3FromAddress } = await import('@polkadot/extension-dapp');
const { web3FromAddress } = await import('@pezkuwi/extension-dapp');
const injector = await web3FromAddress(selectedAccount.address);
if (import.meta.env.DEV) console.log(`Voting ${approve ? 'AYE' : 'NAY'} on proposal:`, proposal.hash);
@@ -257,7 +257,7 @@ export function CommissionVotingTab() {
setVoting(proposal.hash);
try {
const { web3FromAddress } = await import('@polkadot/extension-dapp');
const { web3FromAddress } = await import('@pezkuwi/extension-dapp');
const injector = await web3FromAddress(selectedAccount.address);
if (import.meta.env.DEV) console.log('Executing proposal:', proposal.hash);
@@ -431,7 +431,7 @@ export function CommissionVotingTab() {
if (!api || !selectedAccount) return;
try {
const { web3FromAddress } = await import('@polkadot/extension-dapp');
const { web3FromAddress } = await import('@pezkuwi/extension-dapp');
const injector = await web3FromAddress(selectedAccount.address);
// Get current members
+2 -2
View File
@@ -126,7 +126,7 @@ export function KycApprovalTab() {
setProcessing(true);
try {
const { web3FromAddress } = await import('@polkadot/extension-dapp');
const { web3FromAddress } = await import('@pezkuwi/extension-dapp');
const injector = await web3FromAddress(selectedAccount.address);
if (import.meta.env.DEV) console.log('Proposing KYC approval for:', application.address);
@@ -261,7 +261,7 @@ export function KycApprovalTab() {
setProcessing(true);
try {
const { web3FromAddress } = await import('@polkadot/extension-dapp');
const { web3FromAddress } = await import('@pezkuwi/extension-dapp');
const injector = await web3FromAddress(selectedAccount.address);
if (import.meta.env.DEV) console.log('Rejecting KYC for:', application.address);
@@ -46,7 +46,7 @@ import {
type RegisteredAsset,
type ForeignAsset,
} from '@pezkuwi/lib/xcm-wizard';
import { ApiPromise, WsProvider } from '@polkadot/api';
import { ApiPromise, WsProvider } from '@pezkuwi/api';
interface XCMConfigurationWizardProps {
isOpen: boolean;
@@ -45,7 +45,7 @@ export const NewCitizenApplication: React.FC<NewCitizenApplicationProps> = ({ on
setConfirming(true);
try {
const { web3FromAddress } = await import('@polkadot/extension-dapp');
const { web3FromAddress } = await import('@pezkuwi/extension-dapp');
const injector = await web3FromAddress(selectedAccount.address);
if (import.meta.env.DEV) console.log('Confirming citizenship application (self-confirmation)...');
@@ -107,7 +107,7 @@ export function CommissionProposalsCard() {
setVoting(proposal.hash);
try {
const { web3FromAddress } = await import('@polkadot/extension-dapp');
const { web3FromAddress } = await import('@pezkuwi/extension-dapp');
const injector = await web3FromAddress(selectedAccount.address);
const tx = api.tx.dynamicCommissionCollective.vote(
@@ -197,7 +197,7 @@ export function CommissionProposalsCard() {
setVoting(proposal.hash);
try {
const { web3FromAddress } = await import('@polkadot/extension-dapp');
const { web3FromAddress } = await import('@pezkuwi/extension-dapp');
const injector = await web3FromAddress(selectedAccount.address);
// Get proposal length bound
+76 -2
View File
@@ -4,7 +4,7 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
import { Button } from '@/components/ui/button';
import { Badge } from '@/components/ui/badge';
import { Card, CardContent } from '@/components/ui/card';
import { PlusCircle, Home, ClipboardList, TrendingUp, CheckCircle2, Clock, Store } from 'lucide-react';
import { PlusCircle, Home, ClipboardList, TrendingUp, CheckCircle2, Clock, Store, Zap, Blocks } from 'lucide-react';
import { AdList } from './AdList';
import { CreateAd } from './CreateAd';
import { NotificationBell } from './NotificationBell';
@@ -12,6 +12,8 @@ import { QuickFilterBar } from './OrderFilters';
import { InternalBalanceCard } from './InternalBalanceCard';
import { DepositModal } from './DepositModal';
import { WithdrawModal } from './WithdrawModal';
import { ExpressMode } from './ExpressMode';
import { BlockTrade } from './BlockTrade';
import { DEFAULT_FILTERS, type P2PFilters } from './types';
import { useAuth } from '@/contexts/AuthContext';
import { supabase } from '@/lib/supabase';
@@ -185,11 +187,49 @@ export function P2PDashboard() {
<QuickFilterBar filters={filters} onFiltersChange={setFilters} />
<Tabs defaultValue="buy">
<TabsList className="grid w-full grid-cols-3">
<TabsList className="grid w-full grid-cols-5">
<TabsTrigger value="express" className="flex items-center gap-1">
<Zap className="w-3 h-3" />
Express
</TabsTrigger>
<TabsTrigger value="buy">Buy</TabsTrigger>
<TabsTrigger value="sell">Sell</TabsTrigger>
<TabsTrigger value="my-ads">My Ads</TabsTrigger>
<TabsTrigger value="otc" className="flex items-center gap-1">
<Blocks className="w-3 h-3" />
OTC
</TabsTrigger>
</TabsList>
<TabsContent value="express">
<div className="grid grid-cols-1 lg:grid-cols-2 gap-6 mt-4">
<ExpressMode onTradeStarted={(id) => navigate(`/p2p/trade/${id}`)} />
<div className="space-y-4">
<Card className="bg-gray-900 border-gray-800">
<CardContent className="pt-6">
<h3 className="text-lg font-semibold text-white mb-2">Why Express Mode?</h3>
<ul className="space-y-2 text-sm text-gray-400">
<li className="flex items-center gap-2">
<CheckCircle2 className="w-4 h-4 text-green-400" />
Instant best-rate matching
</li>
<li className="flex items-center gap-2">
<CheckCircle2 className="w-4 h-4 text-green-400" />
Verified merchants only
</li>
<li className="flex items-center gap-2">
<CheckCircle2 className="w-4 h-4 text-green-400" />
Escrow protection
</li>
<li className="flex items-center gap-2">
<CheckCircle2 className="w-4 h-4 text-green-400" />
No manual offer selection
</li>
</ul>
</CardContent>
</Card>
</div>
</div>
</TabsContent>
<TabsContent value="buy">
<AdList type="buy" filters={filters} />
</TabsContent>
@@ -199,6 +239,40 @@ export function P2PDashboard() {
<TabsContent value="my-ads">
<AdList type="my-ads" filters={filters} />
</TabsContent>
<TabsContent value="otc">
<div className="grid grid-cols-1 lg:grid-cols-2 gap-6 mt-4">
<BlockTrade />
<div className="space-y-4">
<Card className="bg-gray-900 border-gray-800">
<CardContent className="pt-6">
<h3 className="text-lg font-semibold text-white mb-2">Block Trade Benefits</h3>
<ul className="space-y-2 text-sm text-gray-400">
<li className="flex items-center gap-2">
<CheckCircle2 className="w-4 h-4 text-purple-400" />
Custom pricing negotiation
</li>
<li className="flex items-center gap-2">
<CheckCircle2 className="w-4 h-4 text-purple-400" />
Dedicated OTC desk support
</li>
<li className="flex items-center gap-2">
<CheckCircle2 className="w-4 h-4 text-purple-400" />
Multi-tranche settlements
</li>
<li className="flex items-center gap-2">
<CheckCircle2 className="w-4 h-4 text-purple-400" />
Enhanced privacy
</li>
<li className="flex items-center gap-2">
<CheckCircle2 className="w-4 h-4 text-purple-400" />
Flexible payment terms
</li>
</ul>
</CardContent>
</Card>
</div>
</div>
</TabsContent>
</Tabs>
</>
)}
@@ -79,7 +79,7 @@ export const InviteUserModal: React.FC<InviteUserModalProps> = ({ isOpen, onClos
setInitiateSuccess(false);
try {
const { web3FromAddress } = await import('@polkadot/extension-dapp');
const { web3FromAddress } = await import('@pezkuwi/extension-dapp');
const injector = await web3FromAddress(selectedAccount.address);
if (import.meta.env.DEV) console.log(`Initiating referral from ${selectedAccount.address} to ${inviteeAddress}...`);
@@ -10,7 +10,7 @@ import { AlertCircle, CheckCircle2 } from 'lucide-react';
import { usePolkadot } from '@/contexts/PolkadotContext';
import { useWallet } from '@/contexts/WalletContext';
import { toast } from 'sonner';
import { web3FromAddress } from '@polkadot/extension-dapp';
import { web3FromAddress } from '@pezkuwi/extension-dapp';
import {
getStakingInfo,
getActiveValidators,