GPT: сгенерено и не проверено (смена ключей пользователя)

This commit is contained in:
AidarKC
2026-09-27 15:50:27 +03:00
parent 13693a0a53
commit 151a2c1754
94 changed files with 5327 additions and 815 deletions
+10 -10
View File
@@ -5,7 +5,7 @@ import {
formatSol,
getBalanceSol,
getTopupSiteUrl,
getWalletFromStoredClientKey,
getWalletFromStoredBlockchainKey,
transferSol,
} from '../services/solana-wallet-service.js';
import {
@@ -983,7 +983,7 @@ export function render({navigate, chrome}) {
<h2 style="margin:0;">Купить билет на сумму в долларах</h2>
<p class="meta-muted" style="margin:0; line-height:1.55;">
Здесь вводится сумма покупки и адрес получателя. Если адрес не указан, можно купить на тот же кошелёк, с которого идет оплата.
Покупка подписывается вашим client key и отклоняется, если курс уходит дальше допустимого порога.
Оплата выполняется с текущего blockchain key. Технические подписи протокола покупки остаются отдельной частью операции.
</p>
`;
@@ -1169,7 +1169,7 @@ export function render({navigate, chrome}) {
currentCore = await loadSupportPaymentsCore(state.entrySettings.solanaServer);
}
if (!walletCtx) {
walletCtx = await getWalletFromStoredClientKey(sessionArgsOrThrow());
walletCtx = await getWalletFromStoredBlockchainKey(sessionArgsOrThrow());
walletAddress = walletCtx.address;
}
setRecipientFromWallet();
@@ -1265,7 +1265,7 @@ export function render({navigate, chrome}) {
if (!walletCtx) {
try {
walletCtx = await getWalletFromStoredClientKey(sessionArgsOrThrow());
walletCtx = await getWalletFromStoredBlockchainKey(sessionArgsOrThrow());
walletAddress = walletCtx.address;
if (modeToken !== activeModeToken) return;
setRecipientFromWallet();
@@ -1867,7 +1867,7 @@ export function render({navigate, chrome}) {
addressCard.className = 'card';
addressCard.style.padding = '10px';
addressCard.innerHTML = `
<p class="meta-muted" style="margin-bottom:6px;">Публичный адрес (client.key)</p>
<p class="meta-muted" style="margin-bottom:6px;">Публичный адрес (blockchain.key)</p>
<p style="font-size:13px; line-height:1.4; word-break:break-all;" id="wallet-address-value">—</p>
`;
const addressEl = addressCard.querySelector('#wallet-address-value');
@@ -1932,7 +1932,7 @@ export function render({navigate, chrome}) {
sendBtn.addEventListener('click', async () => {
if (!walletCtx?.keypair) {
setStatus('Перевод недоступен: client.key не загружен.');
setStatus('Перевод недоступен: blockchain.key не загружен.');
return;
}
const toAddress = window.prompt('Введите адрес получателя (Solana):', '');
@@ -1968,17 +1968,17 @@ export function render({navigate, chrome}) {
});
content.append(backBtn, card, actions);
setStatus('Инициализация client.key...');
setStatus('Инициализация blockchain.key...');
try {
walletCtx = await getWalletFromStoredClientKey(sessionArgsOrThrow());
walletCtx = await getWalletFromStoredBlockchainKey(sessionArgsOrThrow());
if (modeToken !== activeModeToken) return;
walletAddress = walletCtx.address;
addressEl.textContent = walletAddress;
await refreshBalance();
} catch (error) {
if (modeToken !== activeModeToken) return;
addressEl.textContent = 'client.key недоступен';
addressEl.textContent = 'blockchain.key недоступен';
setStatus(`Не удалось инициализировать кошелёк: ${error?.message || 'unknown'}`);
}
}
@@ -2146,7 +2146,7 @@ export function render({navigate, chrome}) {
await refreshBalance();
} catch (error) {
if (modeToken !== activeModeToken) return;
addressEl.textContent = 'client.key недоступен';
addressEl.textContent = 'blockchain.key недоступен';
clearArweaveSecretsInMemory();
setStatus(`Не удалось инициализировать Arweave-кошелёк: ${error?.message || 'unknown'}`);
}