Skip to content

Commit 60e74ea

Browse files
committed
Merge remote-tracking branch 'tonblkch/mytonctrl2_dev' into warnings
2 parents 251b127 + 46e8911 commit 60e74ea

File tree

8 files changed

+76
-65
lines changed

8 files changed

+76
-65
lines changed

modules/liteserver.py

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,8 @@
55

66
class LiteserverModule(MtcModule):
77

8-
description = 'For liteserver usage only - can\'t be used with validator.'
8+
description = 'For liteserver usage only without validator.'
99
default_value = False
1010

11-
def enable(self):
12-
from mytoninstaller.mytoninstaller import set_node_argument
13-
set_node_argument(self.local, ["--celldb-no-preload-all"])
14-
data = psutil.virtual_memory()
15-
ram = data.total / 2**30
16-
if ram < 100:
17-
set_node_argument(self.local, ["--celldb-cache-size", "1073741824"])
18-
19-
def disable(self):
20-
from mytoninstaller.mytoninstaller import set_node_argument
21-
from mytoninstaller.node_args import get_node_args
22-
set_node_argument(self.local, ["--celldb-no-preload-all", "-d"])
23-
if get_node_args()['--celldb-cache-size']:
24-
set_node_argument(self.local, ["--celldb-cache-size", "-d"])
25-
2611
def add_console_commands(self, console):
2712
...

modules/nominator_pool.py

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -78,42 +78,6 @@ def activate_pool(self, args):
7878
self.do_activate_pool(pool)
7979
color_print("ActivatePool - {green}OK{endc}")
8080

81-
def do_deposit_to_pool(self, pool_addr, amount):
82-
wallet = self.ton.GetValidatorWallet()
83-
bocPath = self.ton.local.buffer.my_temp_dir + wallet.name + "validator-deposit-query.boc"
84-
fiftScript = self.ton.contractsDir + "nominator-pool/func/validator-deposit.fif"
85-
args = [fiftScript, bocPath]
86-
result = self.ton.fift.Run(args)
87-
resultFilePath = self.ton.SignBocWithWallet(wallet, bocPath, pool_addr, amount)
88-
self.ton.SendFile(resultFilePath, wallet)
89-
90-
def deposit_to_pool(self, args):
91-
try:
92-
poll_addr = args[0]
93-
amount = float(args[1])
94-
except:
95-
color_print("{red}Bad args. Usage:{endc} deposit_to_pool <pool-addr> <amount>")
96-
return
97-
self.do_deposit_to_pool(poll_addr, amount)
98-
color_print("DepositToPool - {green}OK{endc}")
99-
100-
def do_withdraw_from_pool(self, pool_addr, amount):
101-
pool_data = self.ton.GetPoolData(pool_addr)
102-
if pool_data["state"] == 0:
103-
self.ton.WithdrawFromPoolProcess(pool_addr, amount)
104-
else:
105-
self.ton.PendWithdrawFromPool(pool_addr, amount)
106-
107-
def withdraw_from_pool(self, args):
108-
try:
109-
pool_addr = args[0]
110-
amount = float(args[1])
111-
except:
112-
color_print("{red}Bad args. Usage:{endc} withdraw_from_pool <pool-addr> <amount>")
113-
return
114-
self.do_withdraw_from_pool(pool_addr, amount)
115-
color_print("WithdrawFromPool - {green}OK{endc}")
116-
11781
def update_validator_set(self, args):
11882
try:
11983
pool_addr = args[0]
@@ -127,8 +91,4 @@ def update_validator_set(self, args):
12791
def add_console_commands(self, console):
12892
console.AddItem("new_pool", self.new_pool, self.local.translate("new_pool_cmd"))
12993
console.AddItem("activate_pool", self.activate_pool, self.local.translate("activate_pool_cmd"))
130-
console.AddItem("deposit_to_pool", self.deposit_to_pool, self.local.translate("deposit_to_pool_cmd"))
131-
console.AddItem("withdraw_from_pool", self.withdraw_from_pool, self.local.translate("withdraw_from_pool_cmd"))
13294
console.AddItem("update_validator_set", self.update_validator_set, self.local.translate("update_validator_set_cmd"))
133-
134-

modules/pool.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,45 @@ def check_download_pool_contract_scripts(self):
5858
if not os.path.isdir(contract_path):
5959
self.ton.DownloadContract("https://github.com/ton-blockchain/nominator-pool")
6060

61+
def do_deposit_to_pool(self, pool_addr, amount):
62+
wallet = self.ton.GetValidatorWallet()
63+
bocPath = self.ton.local.buffer.my_temp_dir + wallet.name + "validator-deposit-query.boc"
64+
fiftScript = self.ton.contractsDir + "nominator-pool/func/validator-deposit.fif"
65+
args = [fiftScript, bocPath]
66+
result = self.ton.fift.Run(args)
67+
resultFilePath = self.ton.SignBocWithWallet(wallet, bocPath, pool_addr, amount)
68+
self.ton.SendFile(resultFilePath, wallet)
69+
70+
def deposit_to_pool(self, args):
71+
try:
72+
poll_addr = args[0]
73+
amount = float(args[1])
74+
except:
75+
color_print("{red}Bad args. Usage:{endc} deposit_to_pool <pool-addr> <amount>")
76+
return
77+
self.do_deposit_to_pool(poll_addr, amount)
78+
color_print("DepositToPool - {green}OK{endc}")
79+
80+
def do_withdraw_from_pool(self, pool_addr, amount):
81+
pool_data = self.ton.GetPoolData(pool_addr)
82+
if pool_data["state"] == 0:
83+
self.ton.WithdrawFromPoolProcess(pool_addr, amount)
84+
else:
85+
self.ton.PendWithdrawFromPool(pool_addr, amount)
86+
87+
def withdraw_from_pool(self, args):
88+
try:
89+
pool_addr = args[0]
90+
amount = float(args[1])
91+
except:
92+
color_print("{red}Bad args. Usage:{endc} withdraw_from_pool <pool-addr> <amount>")
93+
return
94+
self.do_withdraw_from_pool(pool_addr, amount)
95+
color_print("WithdrawFromPool - {green}OK{endc}")
96+
6197
def add_console_commands(self, console):
6298
console.AddItem("pools_list", self.print_pools_list, self.local.translate("pools_list_cmd"))
6399
console.AddItem("delete_pool", self.delete_pool, self.local.translate("delete_pool_cmd"))
64100
console.AddItem("import_pool", self.import_pool, self.local.translate("import_pool_cmd"))
101+
console.AddItem("deposit_to_pool", self.deposit_to_pool, self.local.translate("deposit_to_pool_cmd"))
102+
console.AddItem("withdraw_from_pool", self.withdraw_from_pool, self.local.translate("withdraw_from_pool_cmd"))

mytoncore/functions.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ def Event(local, event_name):
5757
enable_ton_storage_provider_event(local)
5858
elif event_name == "enable_liteserver_mode":
5959
enable_liteserver_mode(local)
60+
elif event_name == "enable_validator_mode":
61+
enable_validator_mode(local)
6062
local.exit()
6163
# end define
6264

@@ -93,10 +95,17 @@ def enable_ton_storage_provider_event(local):
9395
#end define
9496

9597

98+
def enable_validator_mode(local):
99+
from mytoninstaller.mytoninstaller import set_node_argument
100+
set_node_argument(local, ['--archive-ttl', '86400']) # limit validator archive ttl to 1 day
101+
102+
96103
def enable_liteserver_mode(local):
104+
from mytoninstaller.mytoninstaller import set_node_argument
97105
ton = MyTonCore(local)
98106
ton.disable_mode('validator')
99107
ton.enable_mode('liteserver')
108+
set_node_argument(local, ['--archive-ttl', '2592000']) # limit liteserver archive ttl to 30 days
100109
#end define
101110

102111

mytoncore/mytoncore.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3269,7 +3269,6 @@ def check_enable_mode(self, name):
32693269
if self.using_validator():
32703270
raise Exception(f'Cannot enable liteserver mode while validator mode is enabled. '
32713271
f'Use `disable_mode validator` first.')
3272-
MODES['liteserver'](self, self.local).enable()
32733272
if name == 'validator':
32743273
if self.using_liteserver():
32753274
raise Exception(f'Cannot enable validator mode while liteserver mode is enabled. '
@@ -3287,8 +3286,6 @@ def disable_mode(self, name):
32873286
current_modes = self.get_modes()
32883287
if name not in current_modes:
32893288
raise Exception(f'Unknown module name: {name}. Available modes: {", ".join(MODES)}')
3290-
if name == 'liteserver':
3291-
MODES['liteserver'](self, self.local).disable()
32923289
current_modes[name] = False
32933290
self.local.save()
32943291

mytonctrl/mytonctrl.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,10 @@ def PreUp(local: MyPyClass, ton: MyTonCore):
250250

251251
def Installer(args):
252252
# args = ["python3", "/usr/src/mytonctrl/mytoninstaller.py"]
253-
args = ["python3", "-m", "mytoninstaller"]
254-
subprocess.run(args)
253+
cmd = ["python3", "-m", "mytoninstaller"]
254+
if args:
255+
cmd += ["-c", *args]
256+
subprocess.run(cmd)
255257
#end define
256258

257259

mytoninstaller/mytoninstaller.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,12 +238,29 @@ def Event(local, name):
238238
#end define
239239

240240

241-
def General(local):
241+
def Command(local, args, console):
242+
cmd = args[0]
243+
args = args[1:]
244+
for item in console.menu_items:
245+
if cmd == item.cmd:
246+
console._try(item.func, args)
247+
print()
248+
local.exit()
249+
print(console.unknown_cmd)
250+
local.exit()
251+
#end define
252+
253+
254+
def General(local, console):
242255
if "-u" in sys.argv:
243256
ux = sys.argv.index("-u")
244257
user = sys.argv[ux+1]
245258
local.buffer.user = user
246259
Refresh(local)
260+
if "-c" in sys.argv:
261+
cx = sys.argv.index("-c")
262+
args = sys.argv[cx+1:]
263+
Command(local, args, console)
247264
if "-e" in sys.argv:
248265
ex = sys.argv.index("-e")
249266
name = sys.argv[ex+1]
@@ -282,7 +299,7 @@ def mytoninstaller():
282299

283300
Init(local, console)
284301
if len(sys.argv) > 1:
285-
General(local)
302+
General(local, console)
286303
else:
287304
console.Run()
288305
local.exit()

mytoninstaller/settings.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -891,6 +891,9 @@ def CreateSymlinks(local):
891891

892892

893893
def EnableMode(local):
894+
args = ["python3", "-m", "mytoncore", "-e"]
894895
if local.buffer.mode == 'liteserver':
895-
args = ["python3", "-m", "mytoncore", "-e", "enable_liteserver_mode"]
896-
subprocess.run(args)
896+
args.append("enable_liteserver_mode")
897+
elif local.buffer.mode == 'validator':
898+
args.append("enable_validator_mode")
899+
subprocess.run(args)

0 commit comments

Comments
 (0)