2.3 KiB
2.3 KiB
Исправления ошибок деплоя 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'ом
Логика работы
- База данных →
params.supportedChainIds(числовые chainId) createMultipleRPCConnections(supportedChainIds, ...)connection.network.chainIdвозвращает тот же числовой chainIddeployInNetwork(chainId, ...)получает числовой chainId как параметр- Внутри функций используем
chainId(параметр), НЕ создаемnetworkChainId
Результат
✅ Все ошибки инициализации переменных исправлены
✅ Система готова к работе без ошибок Cannot access before initialization