diff --git a/Dev_Docs/Solana_Architecture/README.md b/Dev_Docs/Solana_Architecture/README.md index 34b0257..e28e129 100644 --- a/Dev_Docs/Solana_Architecture/README.md +++ b/Dev_Docs/Solana_Architecture/README.md @@ -47,7 +47,7 @@ DAO в текущем виде не является отдельной Anchor- | Программа | Program ID | | --- | --- | | `shine_login_guard` | `3xkopA7cXagxzMFrKdv3NCBfV6BKiRJCk69kr27M2sRo` | -| `shine_users` | `FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm` | +| `shine_users` | `3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ` | | `shine_payments` | `c4yTa4JT9EtQDCBX9LmWFK6T2gp4JGsuymFbom2EudW` | Если эти адреса меняются, нужно синхронно обновить: diff --git a/Dev_Docs/Solana_Architecture/details/accounts_and_money_flow.md b/Dev_Docs/Solana_Architecture/details/accounts_and_money_flow.md index 4745ed1..6fbe6c6 100644 --- a/Dev_Docs/Solana_Architecture/details/accounts_and_money_flow.md +++ b/Dev_Docs/Solana_Architecture/details/accounts_and_money_flow.md @@ -27,7 +27,7 @@ | Роль | Адрес | | --- | --- | | `SHINE_LOGIN_GUARD_PROGRAM_ID` | `3xkopA7cXagxzMFrKdv3NCBfV6BKiRJCk69kr27M2sRo` | -| `SHINE_USERS_PROGRAM_ID` | `FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm` | +| `SHINE_USERS_PROGRAM_ID` | `3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ` | | `SHINE_PAYMENTS_PROGRAM_ID` | `c4yTa4JT9EtQDCBX9LmWFK6T2gp4JGsuymFbom2EudW` | | `DAO_AUTHORITY` | `FUc28vNixp7F3nnkpGVt6nuJbgvJ4429v4B5wS52Df6P` | | `DAO_TREASURY_WALLET` | `FUc28vNixp7F3nnkpGVt6nuJbgvJ4429v4B5wS52Df6P` | diff --git a/Dev_Docs/Инициализация_Solana_регистрации/README.md b/Dev_Docs/Инициализация_Solana_регистрации/README.md index f62ea20..b9457b2 100644 --- a/Dev_Docs/Инициализация_Solana_регистрации/README.md +++ b/Dev_Docs/Инициализация_Solana_регистрации/README.md @@ -12,7 +12,7 @@ ## Актуальные адреса (devnet) - `shine_users` (регистрация пользователей): - `FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm` + `3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ` - `shine_login_guard`: `3xkopA7cXagxzMFrKdv3NCBfV6BKiRJCk69kr27M2sRo` - `shine_payments`: @@ -22,7 +22,7 @@ - Сеть: `https://api.devnet.solana.com` - `shine_users`: - - `Program ID`: `FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm` + - `Program ID`: `3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ` - TX deploy: `5VzfpSirFCRqPUZfvAt3eADY9KnowW79PKZ1pCQAa2DJGiztj4dUYYXrSQNmWEhPVu6mPSDfcuHzFyEVmoKLa9DM` - `shine_login_guard`: - `Program ID`: `3xkopA7cXagxzMFrKdv3NCBfV6BKiRJCk69kr27M2sRo` @@ -64,11 +64,38 @@ anchor deploy -p shine_users - Переход на страницу: - `shine-UI/js/pages/developer-settings-view.js` +### Browser plugin wallet + +- Резолвер PDA и проверка адресов: + - `SHiNE-browser-plugin-wallet/js/lib/shine-server-resolver.js` +- Проверка текущего wallet по PDA: + - `SHiNE-browser-plugin-wallet/background.js` +- Отображение состояния в popup: + - `SHiNE-browser-plugin-wallet/popup.js` + ### Сервер - Серверные константы Solana: - `shine-server-config/src/main/java/utils/config/SolanaProgramsConfig.java` +### Solana / Anchor + +- `shine-solana/shine/Anchor.toml` +- `shine-solana/shine/programs/shine_users/src/lib.rs` (`declare_id!`) +- `shine-solana/shine/programs/shine_login_guard/src/lib.rs` (`declare_id!`) +- `shine-solana/shine/programs/shine_payments/src/lib.rs` (`declare_id!`) + +### Где ещё нужно синхронизировать адреса после нового deploy + +- UI-константы и все потребители в `shine-UI/js/*` +- browser-plugin-wallet +- серверный `SolanaProgramsConfig.java` +- Anchor-конфиг и `declare_id!` в Solana-модуле +- документы: + - `Dev_Docs/Solana/user_pda/README.md` + - `shine-solana/shine/doc/programs/shine_users.md` + - `shine-solana/shine/doc/devnet_keys_and_deploy.md` + ## Как запустить инициализацию economy PDA 1. Открыть UI. @@ -80,7 +107,7 @@ anchor deploy -p shine_users Страница сама вычисляет PDA `users_economy_config` по seed: - seed: `shine_users_economy_config` -- program: `FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm` +- program: `3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ` ## Кто оплачивает create/update user_pda diff --git a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_main/shine_homeserver_main.ino b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_main/shine_homeserver_main.ino index 9117066..14fbd9e 100644 --- a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_main/shine_homeserver_main.ino +++ b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_main/shine_homeserver_main.ino @@ -68,7 +68,7 @@ int ge25519_frombytes(ge25519_p3 *h, const unsigned char *s); #define TEXT_EDIT_PANEL_H 330 #define TEST_VERSION "SHiNE homeserver (v.0.18)" -static const char *kShineUsersProgramId = "FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm"; +static const char *kShineUsersProgramId = "3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ"; static const char *kShineUsersUserPdaSeedPrefix = "user_login="; static const char *kShineLoginGuardProgramId = "3xkopA7cXagxzMFrKdv3NCBfV6BKiRJCk69kr27M2sRo"; static const char *kShinePaymentsProgramId = "c4yTa4JT9EtQDCBX9LmWFK6T2gp4JGsuymFbom2EudW"; diff --git a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_ui/shine_homeserver_ui.ino b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_ui/shine_homeserver_ui.ino index e644f06..0d165c9 100644 --- a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_ui/shine_homeserver_ui.ino +++ b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_ui/shine_homeserver_ui.ino @@ -237,7 +237,7 @@ static DerivedKeyState gDerivedKeys = {}; static const char *kSystemProgramId = "11111111111111111111111111111111"; static const char *kEd25519ProgramId = "Ed25519SigVerify111111111111111111111111111"; static const char *kSysvarInstructionsId = "Sysvar1nstructions1111111111111111111111111"; -static const char *kShineUsersProgramId = "FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm"; +static const char *kShineUsersProgramId = "3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ"; static const char *kShineLoginGuardProgramId = "3xkopA7cXagxzMFrKdv3NCBfV6BKiRJCk69kr27M2sRo"; static const char *kShinePaymentsProgramId = "c4yTa4JT9EtQDCBX9LmWFK6T2gp4JGsuymFbom2EudW"; static const char *kUsersSeedPrefix = "user_login="; diff --git a/SHiNE-browser-plugin-wallet/js/lib/shine-server-resolver.js b/SHiNE-browser-plugin-wallet/js/lib/shine-server-resolver.js index 3d36165..284363f 100644 --- a/SHiNE-browser-plugin-wallet/js/lib/shine-server-resolver.js +++ b/SHiNE-browser-plugin-wallet/js/lib/shine-server-resolver.js @@ -2,7 +2,7 @@ import { base64ToBytes } from './crypto-utils.js'; import { PublicKey } from './vendor/solana-publickey-bundle.js'; const SOLANA_ENDPOINT_DEFAULT = 'https://api.devnet.solana.com'; -const SHINE_USERS_PROGRAM_ID = 'FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm'; +const SHINE_USERS_PROGRAM_ID = '3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ'; const SHINE_USERS_USER_PDA_SEED_PREFIX = 'user_login='; const DEFAULT_SHINE_SERVER_LOGIN = 'shineupme'; const DEFAULT_SHINE_SERVER_ADDRESS = 'shineup.me'; diff --git a/SHiNE-server/AGENTS.md b/SHiNE-server/AGENTS.md index 4734e4f..dd8dd5d 100644 --- a/SHiNE-server/AGENTS.md +++ b/SHiNE-server/AGENTS.md @@ -42,7 +42,7 @@ shine-UI/server-ui.html Для обновления — только root + device (blockchain-ключ не нужен). Актуальные адреса программ Solana (devnet): -- `shine_users`: `FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm` +- `shine_users`: `3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ` - `shine_payments`: `c4yTa4JT9EtQDCBX9LmWFK6T2gp4JGsuymFbom2EudW` Подробнее: `Dev_Docs/Инициализация_Solana_регистрации/README.md` diff --git a/SHiNE-server/shine-server-config/src/main/java/utils/config/SolanaProgramsConfig.java b/SHiNE-server/shine-server-config/src/main/java/utils/config/SolanaProgramsConfig.java index 4d6fdbc..e540c25 100644 --- a/SHiNE-server/shine-server-config/src/main/java/utils/config/SolanaProgramsConfig.java +++ b/SHiNE-server/shine-server-config/src/main/java/utils/config/SolanaProgramsConfig.java @@ -12,10 +12,9 @@ public final class SolanaProgramsConfig { public static final String SOLANA_RPC_URL = "https://api.devnet.solana.com"; // Программа регистрации пользователей (shine_users), задеплоена в devnet. - public static final String SHINE_USERS_PROGRAM_ID = "FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm"; + public static final String SHINE_USERS_PROGRAM_ID = "3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ"; // Отдельно фиксируем адреса связанной инфраструктуры, чтобы UI/сервер ссылались одинаково. public static final String SHINE_LOGIN_GUARD_PROGRAM_ID = "3xkopA7cXagxzMFrKdv3NCBfV6BKiRJCk69kr27M2sRo"; public static final String SHINE_PAYMENTS_PROGRAM_ID = "c4yTa4JT9EtQDCBX9LmWFK6T2gp4JGsuymFbom2EudW"; } - diff --git a/VERSION.properties b/VERSION.properties index 85b3f80..80f0671 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.233 -server.version=1.2.219 +client.version=1.2.234 +server.version=1.2.220 diff --git a/deploy_shine-server_test.sh b/deploy_shine-server_test.sh index d6fd7ea..bcca202 100644 --- a/deploy_shine-server_test.sh +++ b/deploy_shine-server_test.sh @@ -102,8 +102,8 @@ ssh "$TEST_HOST" "set -euo pipefail; \ chmod 644 '$REMOTE_SERVER_DIR/application.properties'; \ chmod 664 '$REMOTE_SERVER_DIR/shine-server.jar'; \ mkdir -p '$REMOTE_LOGS_DIR'; \ + sudo chown -R player:player '$REMOTE_SERVER_DIR'; \ touch '$REMOTE_LOGS_DIR/app.log'; \ - chown -R player:player '$REMOTE_SERVER_DIR'; \ sudo systemctl daemon-reload; \ sudo systemctl enable '$REMOTE_SERVICE_NAME'; \ sudo systemctl restart '$REMOTE_SERVICE_NAME'" diff --git a/deploy_shine-server_test2.sh b/deploy_shine-server_test2.sh index d2bf746..baeca85 100644 --- a/deploy_shine-server_test2.sh +++ b/deploy_shine-server_test2.sh @@ -67,9 +67,8 @@ rsync -az "$TMP_DIR/shine-server.service" "$TARGET_HOST:/tmp/shine-server.servic ssh "$TARGET_HOST" "set -euo pipefail; \ sudo mv -f /tmp/shine-server.service /etc/systemd/system/shine-server.service; \ sudo chown root:root /etc/systemd/system/shine-server.service; \ + sudo chown -R player:player '$REMOTE_SERVER_DIR'; \ touch '$REMOTE_LOGS_DIR/app.log'; \ - chown -R player:player '$REMOTE_SERVER_DIR'; \ sudo systemctl daemon-reload; \ sudo systemctl enable '$REMOTE_SERVICE_NAME'; \ sudo systemctl restart '$REMOTE_SERVICE_NAME'" - diff --git a/shine-UI/js/solana-programs.js b/shine-UI/js/solana-programs.js index 32111f7..922af48 100644 --- a/shine-UI/js/solana-programs.js +++ b/shine-UI/js/solana-programs.js @@ -1,8 +1,9 @@ export const SOLANA_CLUSTER = 'devnet'; export const SOLANA_ENDPOINT_DEFAULT = 'https://api.devnet.solana.com'; -// Программа регистрации пользователей SHiNE (shine_users), задеплоена в devnet. -export const SHINE_USERS_PROGRAM_ID = 'FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm'; +// Единый файл актуальных Solana Program ID для UI-части SHiNE. +// При смене адресов обновлять этот файл и все его потребители внутри shine-UI. +export const SHINE_USERS_PROGRAM_ID = '3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ'; 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'; diff --git a/shine-solana/shine/Anchor.toml b/shine-solana/shine/Anchor.toml index 11b496c..8ee249d 100644 --- a/shine-solana/shine/Anchor.toml +++ b/shine-solana/shine/Anchor.toml @@ -7,12 +7,12 @@ skip-lint = false [programs.devnet] shine_payments = "c4yTa4JT9EtQDCBX9LmWFK6T2gp4JGsuymFbom2EudW" -shine_users = "FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm" +shine_users = "3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ" shine_login_guard = "3xkopA7cXagxzMFrKdv3NCBfV6BKiRJCk69kr27M2sRo" [programs.localnet] shine_payments = "c4yTa4JT9EtQDCBX9LmWFK6T2gp4JGsuymFbom2EudW" -shine_users = "FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm" +shine_users = "3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ" shine_login_guard = "3xkopA7cXagxzMFrKdv3NCBfV6BKiRJCk69kr27M2sRo" [registry] diff --git a/shine-solana/shine/doc/programs/shine_users.md b/shine-solana/shine/doc/programs/shine_users.md index fa6ae35..75186e0 100644 --- a/shine-solana/shine/doc/programs/shine_users.md +++ b/shine-solana/shine/doc/programs/shine_users.md @@ -35,7 +35,7 @@ Текущий program id devnet/localnet: -- `FZS1YctoeEhCkZ5VTjsysUFAXR8CqxYztcLboXcg2Rpm` +- `3bYrnXwLc56oVPUBAjY8zTMLwHCYq29b5rUMu3b64SQJ` Внешние зависимости по логике: diff --git a/shine-solana/shine/programs/shine_payments/web/admin_tools.html b/shine-solana/shine/programs/shine_payments/web/admin_tools.html index 91eac12..9dd6370 100644 --- a/shine-solana/shine/programs/shine_payments/web/admin_tools.html +++ b/shine-solana/shine/programs/shine_payments/web/admin_tools.html @@ -111,7 +111,7 @@