From 0730837ad7f6be24e11edf86c8a004ff6fd4d625b2c3fe9eb2955e1ac77bfe22 Mon Sep 17 00:00:00 2001 From: AidarKC Date: Wed, 8 Jul 2026 20:28:29 +0400 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BE=D0=BB=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D1=82=D1=8C=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=86=D1=83=20DEVNET=20=D0=BF=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BE=D1=82=20mainnet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...7-08_1225_devnet_topup_izolirovan_ot_mainnet.md | 14 ++++++++++++++ VERSION.properties | 2 +- shine-UI/js/pages/devnet-topup-view.js | 13 +++++-------- 3 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 Dev_Docs/Pending_Features/2026-07-08_1225_devnet_topup_izolirovan_ot_mainnet.md diff --git a/Dev_Docs/Pending_Features/2026-07-08_1225_devnet_topup_izolirovan_ot_mainnet.md b/Dev_Docs/Pending_Features/2026-07-08_1225_devnet_topup_izolirovan_ot_mainnet.md new file mode 100644 index 0000000..06cb8e2 --- /dev/null +++ b/Dev_Docs/Pending_Features/2026-07-08_1225_devnet_topup_izolirovan_ot_mainnet.md @@ -0,0 +1,14 @@ +# Изоляция страницы DEVNET пополнения от mainnet + +- краткое описание фичи: + Страница `shine-UI/js/pages/devnet-topup-view.js` переведена на полностью автономную работу только с `https://api.devnet.solana.com`. Проверка баланса и перевод SOL на этой странице больше не используют общие Solana-настройки UI. +- что именно проверять: + 1. Открыть страницу `devnet-topup-view` с параметром `wallet`. + 2. Убедиться, что на странице отображается сеть `DEVNET`. + 3. Проверить, что балансы отправителя и получателя читаются из devnet. + 4. Выполнить перевод и убедиться, что транзакция проходит именно в devnet. + 5. Убедиться, что изменение глобального Solana endpoint в других экранах UI не влияет на эту страницу. +- ожидаемый результат: + Страница всегда показывает devnet-балансы и отправляет перевод только через devnet, независимо от глобального RPC в приложении. +- статус: + pending diff --git a/VERSION.properties b/VERSION.properties index f3595e5..d5f05a2 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.300 +client.version=1.2.301 server.version=1.2.280 diff --git a/shine-UI/js/pages/devnet-topup-view.js b/shine-UI/js/pages/devnet-topup-view.js index f258de4..adfd836 100644 --- a/shine-UI/js/pages/devnet-topup-view.js +++ b/shine-UI/js/pages/devnet-topup-view.js @@ -1,9 +1,9 @@ import { renderHeader } from '../components/header.js'; import { formatSol, getBalanceSol, transferSol, createSolanaWalletFromPrivateBase58 } from '../services/solana-wallet-service.js'; -import { state } from '../state.js'; export const pageMeta = { id: 'devnet-topup-view', title: 'Пополнение DEVNET', showAppChrome: false }; +const DEVNET_ENDPOINT = 'https://api.devnet.solana.com'; const SENDER_PRIVATE_32_BASE58 = '6xqAuKYvA8qrCdAkcw7Y8aMgvBnYk8JLxWLma5BzbAvu'; const TRANSFER_AMOUNT_SOL = 0.02; @@ -49,7 +49,7 @@ export function render() { status.style.overflowWrap = 'anywhere'; status.style.wordBreak = 'break-word'; status.style.whiteSpace = 'pre-wrap'; - status.textContent = 'Готово к пополнению.'; + status.textContent = `Готово к пополнению.\nСеть: DEVNET (${DEVNET_ENDPOINT})`; const amountHint = document.createElement('p'); amountHint.style.width = 'min(100%, 320px)'; @@ -99,16 +99,14 @@ export function render() { const updateSenderBalance = async () => { if (!senderAddress) return; - const endpoint = state.entrySettings.solanaServer; - const balance = await getBalanceSol({ endpoint, address: senderAddress }); + const balance = await getBalanceSol({ endpoint: DEVNET_ENDPOINT, address: senderAddress }); const senderBalanceEl = senderBox.querySelector('#devnet-topup-sender-balance'); if (senderBalanceEl) senderBalanceEl.textContent = `Баланс: ${formatSol(balance.sol, 6)} SOL`; }; const updateTargetBalance = async () => { if (!targetWallet) return null; - const endpoint = state.entrySettings.solanaServer; - const balance = await getBalanceSol({ endpoint, address: targetWallet }); + const balance = await getBalanceSol({ endpoint: DEVNET_ENDPOINT, address: targetWallet }); const targetBalanceEl = targetBox.querySelector('#devnet-topup-target-balance'); if (targetBalanceEl) targetBalanceEl.textContent = `Баланс: ${formatSol(balance.sol, 6)} SOL`; return balance.sol; @@ -131,9 +129,8 @@ export function render() { closeHint.style.display = 'none'; try { - const endpoint = state.entrySettings.solanaServer; const tx = await transferSol({ - endpoint, + endpoint: DEVNET_ENDPOINT, fromKeypair: senderKeypair, toAddress: targetWallet, amountSol: TRANSFER_AMOUNT_SOL,