From 6ab7a4d06cd8667e60499c1dc667e970d3fd3c0e Mon Sep 17 00:00:00 2001 From: MMGen Date: Mon, 23 Jul 2018 17:20:45 +0000 Subject: [PATCH] eth autosign support --- mmgen/main_autosign.py | 9 ++++----- mmgen/main_txsign.py | 3 ++- mmgen/protocol.py | 2 ++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/mmgen/main_autosign.py b/mmgen/main_autosign.py index 22b22e5d..678d391e 100755 --- a/mmgen/main_autosign.py +++ b/mmgen/main_autosign.py @@ -29,8 +29,6 @@ part_label = u'MMGEN_TX' wallet_dir = u'/dev/shm/autosign' key_fn = u'autosign.key' -no_daemon_coins = ('ETH',) - from mmgen.common import * prog_name = os.path.basename(sys.argv[0]) opts_data = lambda: { @@ -121,15 +119,16 @@ def check_daemons_running(): coins = ['BTC'] for coin in coins: - if coin in no_daemon_coins: continue g.proto = CoinProtocol(coin,g.testnet) + if g.proto.sign_mode != 'daemon': continue vmsg('Checking {} daemon'.format(coin)) try: rpc_init(reinit=True) g.rpch.getbalance() except SystemExit as e: if e[0] != 0: - ydie(1,'{} daemon not running or not listening on port {}'.format(coin,g.proto.rpc_port)) + fs = '{} daemon not running or not listening on port {}' + ydie(1,fs.format(coin,g.proto.rpc_port)) def get_wallet_files(): wfs = filter(lambda x: x[-6:] == '.mmdat',os.listdir(wallet_dir)) @@ -159,7 +158,7 @@ def sign_tx_file(txfile): init_coin(mmgen.tx.MMGenTX(txfile,coin_sym_only=True).coin) reload(sys.modules['mmgen.tx']) tx = mmgen.tx.MMGenTX(txfile) - if tx.coin not in no_daemon_coins: + if g.proto.sign_mode == 'daemon': rpc_init(reinit=True) txsign(tx,wfs,None,None) tx.write_to_file(ask_write=False) diff --git a/mmgen/main_txsign.py b/mmgen/main_txsign.py index df0f02fe..5d4e2999 100755 --- a/mmgen/main_txsign.py +++ b/mmgen/main_txsign.py @@ -75,7 +75,8 @@ infiles = opts.init(opts_data,add_opts=['b16']) if not infiles: opts.usage() for i in infiles: check_infile(i) -rpc_init() +if g.proto.sign_mode == 'daemon': + rpc_init() if not opt.info and not opt.terse_info: do_license_msg(immed=True) diff --git a/mmgen/protocol.py b/mmgen/protocol.py index b6a99fcf..6055b860 100755 --- a/mmgen/protocol.py +++ b/mmgen/protocol.py @@ -90,6 +90,7 @@ class BitcoinProtocol(MMGenObject): witness_vernum_hex = '00' witness_vernum = int(witness_vernum_hex,16) bech32_hrp = 'bc' + sign_mode = 'daemon' @classmethod def is_testnet(cls): @@ -305,6 +306,7 @@ class EthereumProtocol(DummyWIF,BitcoinProtocolAddrgen): coin_amt = ETHAmt max_tx_fee = ETHAmt('0.005') chain_name = 'foundation' + sign_mode = 'standalone' @classmethod def verify_addr(cls,addr,hex_width,return_dict=False):