UI: понятная ошибка при нехватке SOL для пополнения лимита

This commit is contained in:
AidarKC
2026-07-23 22:49:16 +04:00
parent 9a7019a2ce
commit 4704f8485b
2 changed files with 12 additions and 2 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
client.version=1.2.346 client.version=1.2.347
server.version=1.2.318 server.version=1.2.318
+11 -1
View File
@@ -45,6 +45,16 @@ function lamportsToSolText(lamportsBigInt) {
return value.toLocaleString('ru-RU', { minimumFractionDigits: 0, maximumFractionDigits: 9 }); return value.toLocaleString('ru-RU', { minimumFractionDigits: 0, maximumFractionDigits: 9 });
} }
function formatLimitTopupError(error) {
const message = String(error?.message || '').trim();
const logs = Array.isArray(error?.logs) ? error.logs.join(' | ') : '';
const haystack = `${message} ${logs}`.toLowerCase();
if (haystack.includes('insufficient funds for rent')) {
return 'Недостаточно средств на Solana-кошельке для пополнения лимита.';
}
return `Не удалось увеличить лимит: ${message || 'unknown'}`;
}
function createModeBackButton(renderWalletChoice) { function createModeBackButton(renderWalletChoice) {
const backBtn = document.createElement('button'); const backBtn = document.createElement('button');
backBtn.className = 'text-btn'; backBtn.className = 'text-btn';
@@ -1492,7 +1502,7 @@ export function render({ navigate }) {
await refreshUsage(); await refreshUsage();
} catch (error) { } catch (error) {
if (modeToken !== activeModeToken) return; if (modeToken !== activeModeToken) return;
setStatus(`Не удалось увеличить лимит: ${error?.message || 'unknown'}`); setStatus(formatLimitTopupError(error));
} finally { } finally {
setButtonsDisabled(false); setButtonsDisabled(false);
} }