diff --git a/mytoncore.py b/mytoncore.py index d6a600ca..236f14a0 100755 --- a/mytoncore.py +++ b/mytoncore.py @@ -2677,6 +2677,15 @@ def GetValidatorsList(self, past=False): return validators #end define + def find_myself_in_vl(self): + current_vl = self.GetValidatorsList() + past_vl = self.GetValidatorsList(past=True) + my_adnl = self.GetAdnlAddr() + for validator in current_vl + past_vl: + if validator["adnlAddr"] == my_adnl: + return True + return False + def CheckValidators(self, start, end): local.add_log("start CheckValidators function", "debug") electionId = start diff --git a/mytonctrl.py b/mytonctrl.py index 046d1676..02072eb3 100755 --- a/mytonctrl.py +++ b/mytonctrl.py @@ -109,7 +109,8 @@ def Init(argv): #end define def PreUp(): - CheckMytonctrlUpdate() + CheckMytonctrlUpdate() # check mtc current branch update only if there wasnt warning about mtc2 + CheckMytonctrl2Update() CheckDiskUsage() check_vport() # CheckTonUpdate() @@ -229,6 +230,17 @@ def CheckMytonctrlUpdate(): #end define +def CheckMytonctrl2Update(): + try: + if not ton.find_myself_in_vl(): # we are not validator in current and prev rounds + print('============================================================================================') + color_print(local.translate("update_mtc2_warning")) + print('============================================================================================') + except Exception as err: + print(f'Failed to check node as validator: {err}') +# end define + + def CheckDiskUsage(): usage = ton.GetDbUsage() if usage > 90: diff --git a/translate.json b/translate.json index 294ac055..613039dc 100644 --- a/translate.json +++ b/translate.json @@ -369,6 +369,11 @@ "ru": "{green}Доступно обновление MyTonCtrl. {red}Пожалуйста, обновите его с помощью команды `update`.{endc}", "zh_TW": "{green}MyTonCtrl 有可用更新. {red}請使用 `update` 命令進行更新.{endc}" }, + "update_mtc2_warning": { + "en": "{red} If you are not a validator and using node only as liteserver, update to the MyTonCtrl2.0: `update mytonctrl2`. After updating turn \"liteserver\" mode on: `disable_mode validator`; `enable_mode liteserver` {endc}", + "ru": "{red} Если вы не валидатор и используете ноду только как лайтсервер, обновитесь до MyTonCtrl2.0: `update mytonctrl2`. После обновления включите режим \"Лайтсервера\": `disable_mode validator`; `enable_mode liteserver` {endc}", + "zh_TW": "{red} 如果您不是驗證者,僅將節點用作 liteserver,更新到 MyTonCtrl2.0: `update mytonctrl2`。更新後,將 \"liteserver\" 模式打開: `disable_mode validator`; `enable_mode liteserver` {endc}" + }, "disk_usage_warning": { "en": "{red} Disk is almost full, clean the TON database immediately: https://docs.ton.org/participate/nodes/node-maintenance-and-security#database-grooming {endc}", "ru": "{red} Диск почти заполнен, немедленно очистите базу данных TON: https://docs.ton.org/participate/nodes/node-maintenance-and-security#database-grooming {endc}",