Подготовка перед деплоем в mainnet

This commit is contained in:
AidarKC
2026-07-01 12:23:30 +04:00
parent ab4dab34aa
commit 0240db59ee
52 changed files with 1018 additions and 473 deletions
+1 -1
View File
@@ -63,7 +63,7 @@ function sessionArgsOrThrow() {
return { login, storagePwd };
}
const SHINE_PAYMENTS_PROGRAM_ID = 'c4yTa4JT9EtQDCBX9LmWFK6T2gp4JGsuymFbom2EudW';
const SHINE_PAYMENTS_PROGRAM_ID = 'SHiPmXbM9Fs9khzRUW3TGKsS2W84aqaXTxs3ZkajW9v';
const SHINE_PAYMENTS_ORACLE_ACCOUNT = '7UVimffxr9ow1uXYxsr4LHAcV58mLzhmwaeKvJ1pjLiE';
const SHINE_PAYMENTS_SEEDS = {
config: 'shine_payments_config',
@@ -6,7 +6,7 @@ import {
import { loadSolanaWeb3 } from '../vendor/solana-web3-loader.js';
const CLASSIFY_LOGIN_INSTRUCTION_TAG = 1;
const PRECHECK_SIM_PAYER = 'FUc28vNixp7F3nnkpGVt6nuJbgvJ4429v4B5wS52Df6P';
const PRECHECK_SIM_PAYER = 'SHiJ58FvbJQJnPEUa5mZNVpWd1ym9CkjjPgeHYzUJmh';
const SHINE_USERS_USER_PDA_SEED_PREFIX = 'user_login=';
let solanaLibPromise = null;
+5 -5
View File
@@ -1,9 +1,9 @@
export const SOLANA_CLUSTER = 'devnet';
export const SOLANA_ENDPOINT_DEFAULT = 'https://api.devnet.solana.com';
export const SOLANA_CLUSTER = 'mainnet-beta';
export const SOLANA_ENDPOINT_DEFAULT = 'https://api.mainnet-beta.solana.com';
// Единый файл актуальных Solana Program ID для UI-части SHiNE.
// При смене адресов обновлять этот файл и все его потребители внутри shine-UI.
export const SHINE_USERS_PROGRAM_ID = '3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ';
export const SHINE_USERS_PROGRAM_ID = 'SHiNEPr1APdAgNBteUyBXcNovaHctpSjUu8oH2ZJdN6';
export const SHINE_USERS_ECONOMY_CONFIG_SEED = 'shine_users_economy_config';
export const SHINE_LOGIN_GUARD_PROGRAM_ID = '3xkopA7cXagxzMFrKdv3NCBfV6BKiRJCk69kr27M2sRo';
export const SHINE_PAYMENTS_PROGRAM_ID = 'c4yTa4JT9EtQDCBX9LmWFK6T2gp4JGsuymFbom2EudW';
export const SHINE_LOGIN_GUARD_PROGRAM_ID = 'SHiGxGsXGioQYCYhchQ5R7KWoxN5UjFAFsucPf6sfnh';
export const SHINE_PAYMENTS_PROGRAM_ID = 'SHiPmXbM9Fs9khzRUW3TGKsS2W84aqaXTxs3ZkajW9v';
+3 -3
View File
@@ -48,8 +48,8 @@
<h2>Параметры Solana</h2>
<div class="field">
<label>Solana Endpoint</label>
<input type="text" id="endpoint" value="https://api.devnet.solana.com" />
<div class="hint">devnet: https://api.devnet.solana.com · mainnet: https://api.mainnet-beta.solana.com</div>
<input type="text" id="endpoint" value="https://api.mainnet-beta.solana.com" />
<div class="hint">mainnet: https://api.mainnet-beta.solana.com · devnet: https://api.devnet.solana.com</div>
</div>
</div>
@@ -121,7 +121,7 @@
<div class="sol-ttl">Положите SOL на этот адрес перед регистрацией:</div>
<div class="sol-adr" id="solAdr"></div>
<div class="sol-ht">Это Solana-адрес device-ключа (public key в base58 = Solana-адрес). С него оплачиваются и создание, и обновление PDA.</div>
<button class="btn-secondary sol-topup-btn" id="btnTopupDevnet" type="button">Открыть пополнение DEVNET</button>
<button class="btn-secondary sol-topup-btn" id="btnTopupDevnet" type="button">Открыть тестовое пополнение DEVNET</button>
<button class="btn-secondary sol-balance-btn" id="btnRefreshBalance" type="button">Показать / обновить баланс device</button>
<div class="sol-balance" id="deviceBalance">Баланс device ещё не запрашивался.</div>
</div>
@@ -40,6 +40,9 @@ $('serverAddress').placeholder = defaultServerAddress;
$('btnTopupDevnet').addEventListener('click', () => {
try {
if (!String($('endpoint').value || '').includes('devnet')) {
throw new Error('Автопополнение доступно только для devnet. Для mainnet пополните device-кошелёк вручную.');
}
openDevnetTopup($('devPub').value);
} catch (error) {
setStatus($('status'), error?.message || String(error), 'error');
@@ -104,6 +104,9 @@ resetExpectedKeysUi();
$('btnTopupDevnet').addEventListener('click', () => {
try {
if (!String($('endpoint').value || '').includes('devnet')) {
throw new Error('Автопополнение доступно только для devnet. Для mainnet пополните device-кошелёк вручную.');
}
openDevnetTopup($('devPub').value);
} catch (error) {
setStatus($('status'), error?.message || String(error), 'error');
+1 -1
View File
@@ -52,7 +52,7 @@
<h2>Параметры Solana</h2>
<div class="field">
<label>Solana Endpoint</label>
<input type="text" id="endpoint" value="https://api.devnet.solana.com" />
<input type="text" id="endpoint" value="https://api.mainnet-beta.solana.com" />
</div>
</div>
+2 -2
View File
@@ -56,7 +56,7 @@
<h2>Параметры Solana</h2>
<div class="field">
<label>Solana Endpoint</label>
<input type="text" id="endpoint" value="https://api.devnet.solana.com" />
<input type="text" id="endpoint" value="https://api.mainnet-beta.solana.com" />
</div>
</div>
@@ -142,7 +142,7 @@
<div class="sol-ttl">Положите SOL на этот адрес перед обновлением:</div>
<div class="sol-adr" id="solAdr"></div>
<div class="sol-ht">Это Solana-адрес (base58) device-ключа. С него оплачивается транзакция.</div>
<button class="btn-secondary sol-topup-btn" id="btnTopupDevnet" type="button">Открыть пополнение DEVNET</button>
<button class="btn-secondary sol-topup-btn" id="btnTopupDevnet" type="button">Открыть тестовое пополнение DEVNET</button>
<button class="btn-secondary sol-balance-btn" id="btnRefreshBalance" type="button">Показать / обновить баланс device</button>
<div class="sol-balance" id="deviceBalance">Баланс device ещё не запрашивался.</div>
</div>