Skip to content

Commit 08bd78e

Browse files
committed
add rollback
1 parent b712acc commit 08bd78e

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

mytoncore/mytoncore.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3172,13 +3172,14 @@ def migrate_to_modes(self):
31723172
def rollback_modes(self):
31733173
self.local.db['usePool'] = self.get_mode_value('nominator-pool')
31743174
self.local.db['useController'] = self.get_mode_value('liquid-staking')
3175+
self.local.db.pop('modes')
31753176
self.local.save()
31763177

31773178
def get_modes(self):
31783179
current_modes = self.local.db.get('modes', {})
31793180
if 'modes' not in self.local.db:
31803181
self.local.db['modes'] = current_modes
3181-
self.migrate_to_modes()
3182+
self.migrate_to_modes()
31823183
for mode in MODES:
31833184
if mode not in current_modes:
31843185
current_modes[mode] = MODES[mode] # assign default mode value

mytonctrl/mytonctrl.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ def inject_globals(func):
7474
console.AddItem("disable_mode", inject_globals(disable_mode), local.translate("disable_mode_cmd"))
7575
console.AddItem("get", inject_globals(GetSettings), local.translate("get_cmd"))
7676
console.AddItem("set", inject_globals(SetSettings), local.translate("set_cmd"))
77+
console.AddItem("rollback", inject_globals(rollback_to_mtc1), local.translate("rollback_cmd"))
7778

7879
console.AddItem("seqno", inject_globals(Seqno), local.translate("seqno_cmd"))
7980
console.AddItem("getconfig", inject_globals(GetConfig), local.translate("getconfig_cmd"))
@@ -325,6 +326,17 @@ def Upgrade(ton, args):
325326
color_print(text)
326327
#end define
327328

329+
def rollback_to_mtc1(ton, args):
330+
color_print("{red}Warning: this is dangerous, please make sure you've backed up mytoncore's db.{endc}")
331+
a = input("Do you want to continue? [Y/n]")
332+
if a.lower() != 'y':
333+
print('aborted.')
334+
return
335+
ton.rollback_modes()
336+
rollback_script_path = pkg_resources.resource_filename('mytonctrl', 'migrations/roll_back_001.sh')
337+
run_args = ["bash", rollback_script_path]
338+
exit_code = run_as_root(run_args)
339+
328340
def cleanup_validator_db(ton, args):
329341
cleanup_script_path = pkg_resources.resource_filename('mytonctrl', 'scripts/cleanup.sh')
330342
run_args = ["bash", cleanup_script_path]
@@ -1215,7 +1227,8 @@ def SetSettings(ton, args):
12151227
return
12161228
if name == 'usePool' or name == 'useController':
12171229
mode_name = 'nominator-pool' if name == 'usePool' else 'liquid-staking'
1218-
color_print("{red}" + f"Error: set {name} ... is deprecated and does not work" + "{endc}" + f"\nInstead, use <bold>enable_mode {mode_name}<endc>")
1230+
color_print(f"{{red}} Error: set {name} ... is deprecated and does not work {{endc}}."
1231+
f"\nInstead, use {{bold}}enable_mode {mode_name}{{endc}}")
12191232
return
12201233
ton.SetSettings(name, value)
12211234
color_print("SetSettings - {green}OK{endc}")

mytonctrl/resources/translate.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@
2929
"ru": "Выключить режим",
3030
"zh_TW": "禁用模式"
3131
},
32+
"rollback_cmd" : {
33+
"en": "Rollback to mytonctrl 1.0",
34+
"ru": "Откатиться к mytonctrl 1.0",
35+
"zh_TW": "回滾到 mytonctrl 1.0"
36+
},
3237
"seqno_cmd": {
3338
"en": "Get seqno wallet",
3439
"ru": "Получить seqno кошелька",

0 commit comments

Comments
 (0)