proto.xmr: disable version check for restricted (public) nodes
This commit is contained in:
parent
b6662bd4b7
commit
f62a4ce5a9
4 changed files with 36 additions and 17 deletions
|
|
@ -1 +1 @@
|
|||
13.3.dev38
|
||||
13.3.dev39
|
||||
|
|
|
|||
|
|
@ -72,7 +72,12 @@ class monero_daemon(CoinDaemon):
|
|||
|
||||
@property
|
||||
def stop_cmd(self):
|
||||
return ['kill','-Wf',self.pid] if self.platform == 'win' else [self.exec_fn] + self.shared_args + ['exit']
|
||||
if self.platform == 'win':
|
||||
return ['kill','-Wf',self.pid]
|
||||
elif '--restricted-rpc' in self.start_cmd or '--public-node' in self.start_cmd:
|
||||
return ['kill',self.pid]
|
||||
else:
|
||||
return [self.exec_fn] + self.shared_args + ['exit']
|
||||
|
||||
class MoneroWalletDaemon(RPCDaemon):
|
||||
|
||||
|
|
|
|||
|
|
@ -59,15 +59,20 @@ class MoneroRPCClient(RPCClient):
|
|||
|
||||
if test_connection:
|
||||
# https://github.com/monero-project/monero src/rpc/rpc_version_str.cpp
|
||||
self.daemon_version_str = self.call_raw('getinfo')['version']
|
||||
self.daemon_version = sum(
|
||||
int(m) * (1000 ** n) for n,m in
|
||||
enumerate(reversed(re.match(r'(\d+)\.(\d+)\.(\d+)\.(\d+)',self.daemon_version_str).groups()))
|
||||
)
|
||||
if self.daemon and self.daemon_version > self.daemon.coind_version:
|
||||
self.handle_unsupported_daemon_version(
|
||||
proto.name,
|
||||
ignore_daemon_version or proto.ignore_daemon_version or g.ignore_daemon_version )
|
||||
ver_str = self.call_raw('getinfo')['version']
|
||||
if ver_str:
|
||||
self.daemon_version_str = ver_str
|
||||
self.daemon_version = sum(
|
||||
int(m) * (1000 ** n) for n,m in
|
||||
enumerate(reversed(re.match(r'(\d+)\.(\d+)\.(\d+)\.(\d+)',ver_str).groups()))
|
||||
)
|
||||
if self.daemon and self.daemon_version > self.daemon.coind_version:
|
||||
self.handle_unsupported_daemon_version(
|
||||
proto.name,
|
||||
ignore_daemon_version or proto.ignore_daemon_version or g.ignore_daemon_version )
|
||||
else: # restricted (public) node:
|
||||
self.daemon_version_str = None
|
||||
self.daemon_version = None
|
||||
|
||||
def call(self,method,*params,**kwargs):
|
||||
assert params == (), f'{type(self).__name__}.call() accepts keyword arguments only'
|
||||
|
|
|
|||
|
|
@ -208,11 +208,13 @@ class TestSuiteXMRWallet(TestSuiteBase):
|
|||
'md_rpc',
|
||||
'wd',
|
||||
'wd_rpc',
|
||||
'add_coind_args',
|
||||
])
|
||||
for user,sid,shift,kal_range in ( # kal_range must be None, a single digit, or a single hyphenated range
|
||||
('miner', '98831F3A', 130, '1-2'),
|
||||
('bob', '1378FC64', 140, None),
|
||||
('alice', 'FE3C6545', 150, '1-4'),
|
||||
# kal_range must be None, a single digit, or a single hyphenated range
|
||||
for user,sid,shift,kal_range,add_coind_args in (
|
||||
('miner', '98831F3A', 130, '1-2', []),
|
||||
('bob', '1378FC64', 140, None, ['--restricted-rpc']),
|
||||
('alice', 'FE3C6545', 150, '1-4', []),
|
||||
):
|
||||
udir = os.path.join('test',f'tmp{n}',user)
|
||||
datadir = os.path.join(self.datadir_base,user)
|
||||
|
|
@ -256,6 +258,7 @@ class TestSuiteXMRWallet(TestSuiteBase):
|
|||
md_rpc = md_rpc,
|
||||
wd = wd,
|
||||
wd_rpc = wd_rpc,
|
||||
add_coind_args = add_coind_args,
|
||||
)
|
||||
|
||||
def init_daemon_args(self):
|
||||
|
|
@ -263,7 +266,10 @@ class TestSuiteXMRWallet(TestSuiteBase):
|
|||
for u in self.users:
|
||||
other_ports = [self.users[u2].md.p2p_port for u2 in self.users if u2 != u]
|
||||
node_args = [f'--add-exclusive-node=127.0.0.1:{p}' for p in other_ports]
|
||||
self.users[u].md.usr_coind_args = common_args + node_args
|
||||
self.users[u].md.usr_coind_args = (
|
||||
common_args +
|
||||
node_args +
|
||||
self.users[u].add_coind_args )
|
||||
|
||||
# cmd_group methods
|
||||
|
||||
|
|
@ -707,7 +713,10 @@ class TestSuiteXMRWallet(TestSuiteBase):
|
|||
|
||||
def stop_daemons(self):
|
||||
for v in self.users.values():
|
||||
async_run(v.md_rpc.stop_daemon())
|
||||
if '--restricted-rpc' in v.md.start_cmd:
|
||||
v.md.stop()
|
||||
else:
|
||||
async_run(v.md_rpc.stop_daemon())
|
||||
|
||||
def stop_miner_wallet_daemon(self):
|
||||
async_run(self.users['miner'].wd_rpc.stop_daemon())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue