# DEPLOY CONFIG CHECKLIST (Shine Programs) Документ для подготовки к реальному деплою (mainnet/prod): какие адреса и где заменить. ## 1) Program IDs 1. `shine/programs/shine_payments/src/lib.rs` - `declare_id!("...")` для `shine_payments`. 2. `shine/programs/shine_users/src/lib.rs` - `declare_id!("...")` для `shine_users`. 3. `shine/Anchor.toml` - обновить `programs.devnet` / `programs.localnet` (и при необходимости добавить/обновить секцию под mainnet workflow). ## 2) Shine Payments on-chain settings Файл: `shine/programs/shine_payments/src/settings.rs` Обязательные адреса: 1. `DAO_WALLET` 2. `MANAGER_WALLET` 3. `PYTH_SOL_USD_ACCOUNT` 4. `PYTH_SOL_USD_FEED_ID` (идентификатор feed для SOL/USD) Параметры экономики (по необходимости): 1. `START_COEF_PPM` 2. `START_LIMIT_USD_CENTS` 3. `START_CALL_REWARD_LAMPORTS` 4. `MAX_CALL_REWARD_LAMPORTS` 5. `ORACLE_MAX_AGE_SECS` ## 3) Shine Users on-chain settings Файл: `shine/programs/shine_users/src/settings.rs` Обязательные параметры: 1. `REGISTRATION_FEE_RECEIVER` (куда идет комиссия регистрации) 2. `REGISTRATION_FEE_LAMPORTS` 3. при необходимости скорректировать лимитные/бонусные константы: - `LIMIT_STEP` - `LAMPORTS_PER_LIMIT_STEP` - `START_BONUS_LIMIT` ## 4) Web UI constants (hardcoded values) Проверить и заменить Program ID / Oracle account в HTML: 1. `shine/programs/shine_payments/web/buy_ticket.html` 2. `shine/programs/shine_payments/web/track_ticket.html` 3. `shine/programs/shine_payments/web/admin_tools.html` 4. `shine/programs/shine_payments/web/dao_tools.html` 5. `shine/programs/shine_payments/web/manager_tools.html` Проверить RPC endpoint для нужной сети в соответствующих страницах. ## 5) Скрипты и окружение Проверить конфиги и env-файлы, где участвуют адреса: 1. `shine/scripts/**/config.env` 2. `shine/scripts/**/dao.config.env` 3. `shine/scripts/**/governance_token.config.env` ## 6) Проверка перед деплоем 1. `cargo check -p shine_payments` 2. `cargo check -p shine_users` 3. сверить, что `declare_id` совпадает с ключами деплоя программ. 4. убедиться, что `PYTH_SOL_USD_ACCOUNT` читается в выбранной сети. 5. прогнать smoke-тесты UI (buy / track / admin / dao / manager). ## 7) Проверка после деплоя 1. Выполнить `init` для `shine_payments`. 2. Проверить существование PDA: - `config_pda` - `coef_limit_pda` - `queues_pda` - `inflow_vault_pda` 3. Проверить покупку тикета и шаг выплаты на малой сумме. 4. Проверить `change_ticket_recipient`: - разрешено для не-next тикета; - запрещено для next тикета.