refactor(scores): remove frontend fallback, read all scores from blockchain

Remove all frontend staking/trust score calculation and localStorage
fallback code. All scores now read directly from People Chain pallets
(pezpallet-trust, pezpallet-referral, pezpallet-tiki). Trust pallet
computes composite score on-chain.
This commit is contained in:
2026-02-13 03:14:57 +03:00
parent 910114d9f0
commit b378aeb171
5 changed files with 28 additions and 546 deletions
+2 -6
View File
@@ -8,7 +8,7 @@ import { AddTokenModal } from './AddTokenModal';
import { TransferModal } from './TransferModal';
import { XCMTeleportModal } from './XCMTeleportModal';
import { LPStakeModal } from './LPStakeModal';
import { getAllScoresWithFallback, type UserScores } from '@pezkuwi/lib/scores';
import { getAllScores, type UserScores } from '@pezkuwi/lib/scores';
interface TokenBalance {
assetId: number;
@@ -570,11 +570,7 @@ export const AccountBalance: React.FC = () => {
setLoadingScores(true);
try {
// Use fallback function: peopleApi for on-chain scores, api (Relay) for staking data
const userScores = await getAllScoresWithFallback(
peopleApi || null, // People Chain for referral, tiki, perwerde
api, // Relay Chain for staking data
selectedAccount.address
);
const userScores = await getAllScores(peopleApi || null, selectedAccount.address);
setScores(userScores);
} catch (err) {
if (import.meta.env.DEV) console.error('Failed to fetch scores:', err);
+4 -7
View File
@@ -4,7 +4,7 @@ import { ChevronRight, Shield } from 'lucide-react';
import { usePezkuwi } from '../contexts/PezkuwiContext';
import { useWallet } from '../contexts/WalletContext'; // Import useWallet
import { formatBalance } from '@pezkuwi/lib/wallet';
import { getTrustScoreWithFallback } from '@pezkuwi/lib/scores';
import { getTrustScore } from '@pezkuwi/lib/scores';
const HeroSection: React.FC = () => {
const { t } = useTranslation();
@@ -25,12 +25,9 @@ const HeroSection: React.FC = () => {
if (selectedAccount?.address) {
try {
// Use frontend fallback for trust score
const trustResult = await getTrustScoreWithFallback(
peopleApi || null,
api,
selectedAccount.address
);
currentTrustScore = trustResult.trustScore;
if (peopleApi) {
currentTrustScore = await getTrustScore(peopleApi, selectedAccount.address);
}
} catch (err) {
if (import.meta.env.DEV) console.warn('Failed to fetch trust score:', err);
currentTrustScore = 0;
+3 -2
View File
@@ -26,6 +26,7 @@ export const WalletModal: React.FC<WalletModalProps> = ({ isOpen, onClose }) =>
disconnectWallet,
api,
isApiReady,
peopleApi,
error
} = usePezkuwi();
@@ -77,7 +78,7 @@ export const WalletModal: React.FC<WalletModalProps> = ({ isOpen, onClose }) =>
setLoadingScores(true);
try {
const userScores = await getAllScores(api, selectedAccount.address);
const userScores = await getAllScores(peopleApi || null, selectedAccount.address);
setScores(userScores);
} catch (err) {
if (import.meta.env.DEV) console.error('Failed to fetch scores:', err);
@@ -94,7 +95,7 @@ export const WalletModal: React.FC<WalletModalProps> = ({ isOpen, onClose }) =>
};
fetchAllScores();
}, [api, isApiReady, selectedAccount]);
}, [api, isApiReady, peopleApi, selectedAccount]);
return (
<Dialog open={isOpen} onOpenChange={onClose}>