minor fixes and cleanups

This commit is contained in:
The MMGen Project 2021-08-05 14:11:45 +00:00
commit 8de120b667
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
4 changed files with 17 additions and 23 deletions

View file

@ -335,7 +335,9 @@ class CoinDaemon(Daemon):
avail_flags = ('keep_cfg_file',)
avail_opts = ('no_daemonize','online')
datadir_is_subdir = False
testnet_dir = None
data_subdir = ''
test_suite_port_shift = 1237
coins = {
'BTC': _cd('Bitcoin', ['bitcoin_core']),
@ -466,12 +468,12 @@ class CoinDaemon(Daemon):
self.coind_name,
getattr(self.proto.network_names,self.network),
'test suite ' if test_suite else '' )
self.subclass_init()
self.subclass_init()
self.lock()
def init_rpc_port(self,test_suite,port_shift):
self.port_shift = (1237 if test_suite else 0) + (port_shift or 0)
self.port_shift = (self.test_suite_port_shift if test_suite else 0) + (port_shift or 0)
self.rpc_port = getattr(self.rpc_ports,self.network) + self.port_shift
if g.rpc_port: # user-set global overrides everything else
@ -627,10 +629,9 @@ class openethereum_daemon(CoinDaemon):
'linux': [g.home_dir,'.local','share','io.parity.ethereum'],
'win': [os.getenv('LOCALAPPDATA'),'Parity','Ethereum']
}
testnet_dir = None
def subclass_init(self):
base_path = os.path.join(self.datadir,'chains',getattr(self.chain_subdirs,self.network))
base_path = os.path.join(self.datadir,self.id,getattr(self.chain_subdirs,self.network))
shutil.rmtree(base_path,ignore_errors=True)
ps = self.port_shift + getattr(self.ports_shift,self.network)
@ -663,7 +664,6 @@ class erigon_daemon(CoinDaemon):
daemon_data = _dd('Erigon', 2021007005, '2021.07.5')
version_pat = r'erigon/(\d+)\.(\d+)\.(\d+)'
exec_fn = 'erigon'
cfg_file = 'erigon.conf'
private_ports = _nw(9090,9091,9092) # testnet and regtest are non-standard
ports_shift = _nw(200,210,220)
rpc_ports = _nw(*[8545 + n for n in ports_shift]) # non-standard
@ -673,17 +673,15 @@ class erigon_daemon(CoinDaemon):
'linux': [g.home_dir,'.local','share','erigon'],
'win': [os.getenv('LOCALAPPDATA'),'Erigon'] # FIXME
}
datadir_is_subdir = True
testnet_dir = 'erigon_testnet'
def subclass_init(self):
self.private_port = getattr(self.private_ports,self.network)
if self.network == 'regtest':
self.datadir = None
self.datadir = os.path.join(self.datadir,self.id,getattr(self.proto.network_names,self.network))
self.coind_args = list_gen(
['--verbosity=0'],
['--maxpeers=0', not 'online' in self.opts],
[f'--private.api.addr=127.0.0.1:{self.private_port}'],
[f'--datadir={self.datadir}', self.network!='regtest'],
[f'--datadir={self.datadir}'],
['--chain=dev', self.network=='regtest'],
['--chain=goerli', self.network=='testnet'],
['--miner.etherbase=00a329c0648769a73afac7f9381e08fb43dbea72', self.network=='regtest'],
@ -732,7 +730,7 @@ class erigon_rpcdaemon(RPCDaemon):
['--verbosity=0'],
[f'--private.api.addr=127.0.0.1:{private_port}'],
[f'--datadir={self.datadir}', self.network != 'regtest'],
['--http.api=eth,erigon,web3,net,txpool'],
['--http.api=eth,web3,txpool'],
[f'--http.port={self.rpc_port}'],
)

View file

@ -727,21 +727,16 @@ def handle_unsupported_daemon_version(rpc,proto,ignore_daemon_version,unsupporte
ymsg(f'WARNING: ignoring unsupported {rpc.daemon.coind_name} daemon version at user request')
unsupported_daemon_warning_shown.append(type(proto))
else:
rdie(1,fmt(
"""
The running {} daemon has version {}.
This version of MMGen is tested only on {} v{} and below.
name = rpc.daemon.coind_name
rdie(1,'\n'+fmt(f"""
The running {name} daemon has version {rpc.daemon_version_str}.
This version of MMGen is tested only on {name} v{rpc.daemon.coind_version_str} and below.
To avoid this error, downgrade your daemon to a supported version.
Alternatively, you may invoke the command with the --ignore-daemon-version
option, in which case you proceed at your own risk.
""".format(
rpc.daemon.coind_name,
rpc.daemon_version_str,
rpc.daemon.coind_name,
rpc.daemon.coind_version_str,
),indent=' ').rstrip())
""",indent=' '))
async def rpc_init(proto,backend=None,daemon=None,ignore_daemon_version=False):

View file

@ -167,7 +167,7 @@ def add_cmdline_opts():
# add_cmdline_opts()
opts.UserOpts._reset_ok += ('skip_deps',)
opts.UserOpts._reset_ok += ('skip_deps','no_daemon_autostart')
# step 2: opts.init will create new data_dir in ./test (if not 'resume' or 'skip_deps'):
usr_args = opts.init(opts_data)
@ -194,6 +194,7 @@ if opt.exact_output:
if opt.resume or opt.resume_after:
opt.skip_deps = True
opt.no_daemon_autostart = True
resume = opt.resume or opt.resume_after
else:
resume = False

View file

@ -28,6 +28,7 @@ from mmgen.globalvars import g
from mmgen.opts import opt
from mmgen.util import die
from mmgen.exception import *
from mmgen.obj import ETHAmt
from ..include.common import *
from .common import *
@ -689,7 +690,6 @@ class TestSuiteEthdev(TestSuiteBase,TestSuiteShared):
imsg_r( '\n' + await tk.info() )
imsg('dev token balance (pre-send): {}'.format(await tk.get_balance(dfl_addr)))
imsg('Sending {} {} to address {} ({})'.format(amt,self.proto.dcoin,usr_addrs[i],usr_mmaddrs[i]))
from mmgen.obj import ETHAmt
txid = await tk.transfer(
dfl_addr,
usr_addrs[i],