feat: новая функция

This commit is contained in:
2025-10-15 21:43:18 +03:00
parent 0e028bc722
commit e0300480e1
32 changed files with 972 additions and 439 deletions

40
DEPLOYMENT_FIXES.md Normal file
View File

@@ -0,0 +1,40 @@
# Исправления ошибок деплоя DLE
## Проблема
Ошибки `Cannot access 'chainId' before initialization` в скриптах деплоя из-за неправильного использования переменных.
## Источник данных
**База данных `deploy_params`:**
- `supported_chain_ids`: `[421614, 84532, 11155111, 17000]` (числовые chainId)
- `rpc_urls`: `["https://sepolia-rollup.arbitrum.io/rpc", ...]` (строки URL)
## Исправления
### 1. deploy-multichain.js
- **Функция `deployInNetwork(chainId, ...)`**
- **Было:** `const networkChainId = Number(net.chainId)` + использование `networkChainId`
- **Стало:** Использование параметра `chainId` напрямую
- **Причина:** `chainId` уже приходит как числовой параметр из `supportedChainIds` базы данных
### 2. deploy-modules.js
- **Функция `deployModuleInNetwork(rpcUrl, ...)`**
- **Было:** `createRPCConnection(rpcUrl, ...)` - неправильно
- **Стало:** Получение `chainId` из RPC URL + `createRPCConnection(chainId, ...)`
- **Функция `deployAllModulesInNetwork(chainId, ...)`**
- **Было:** Создание `networkChainId` + использование его
- **Стало:** Использование параметра `chainId` напрямую
### 3. DleDeployFormView.vue
- **Было:** `adminTokenCheck` использовался в watcher до объявления
- **Стало:** Объявление `adminTokenCheck` перед watcher'ом
## Логика работы
1. База данных → `params.supportedChainIds` (числовые chainId)
2. `createMultipleRPCConnections(supportedChainIds, ...)`
3. `connection.network.chainId` возвращает тот же числовой chainId
4. `deployInNetwork(chainId, ...)` получает числовой chainId как параметр
5. **Внутри функций используем `chainId` (параметр), НЕ создаем `networkChainId`**
## Результат
Все ошибки инициализации переменных исправлены
✅ Система готова к работе без ошибок `Cannot access before initialization`