commit 1e735798241c739531f6deea06d4b4806e9df374
parent 9f799a980540f24741d77b3dd3fa8de8834a968c
Author: nolash <dev@holbrook.no>
Date: Tue, 15 Jun 2021 11:22:36 +0200
Revert "Add stdin input to replace single positional argument"
This reverts commit 494cb1e0aff331bbfdfae5e99c4b269aa3d6d60c.
Diffstat:
5 files changed, 11 insertions(+), 65 deletions(-)
diff --git a/MANIFEST.in b/MANIFEST.in
@@ -1 +1 @@
-include *requirements.txt LICENSE
+include requirements.txt
diff --git a/chainlib/eth/runnable/checksum.py b/chainlib/eth/runnable/checksum.py
@@ -1,6 +1,5 @@
# standard imports
import sys
-import select
# external imports
from hexathon import strip_0x
@@ -8,25 +7,8 @@ from hexathon import strip_0x
# local imports
from chainlib.eth.address import to_checksum_address
-v = None
-if len(sys.argv) > 1:
- v = sys.argv[1]
-else:
- h = select.select([sys.stdin], [], [], 0)
- if len(h[0]) > 0:
- v = h[0][0].read()
- v = v.rstrip()
-
-if v == None:
- sys.stderr.write('input missing\n')
- sys.exit(1)
-
def main():
- try:
- print(to_checksum_address(strip_0x(v)))
- except ValueError as e:
- sys.stderr.write('invalid input: {}\n'.format(e))
- sys.exit(1)
+ print(to_checksum_address(strip_0x(sys.argv[1])))
if __name__ == '__main__':
diff --git a/chainlib/eth/runnable/count.py b/chainlib/eth/runnable/count.py
@@ -6,7 +6,6 @@ import os
import json
import argparse
import logging
-import select
# local imports
from chainlib.eth.address import to_checksum
@@ -15,20 +14,12 @@ from chainlib.eth.tx import count
from chainlib.chain import ChainSpec
from crypto_dev_signer.keystore.dict import DictKeystore
from crypto_dev_signer.eth.signer import ReferenceSigner as EIP155Signer
-from hexathon import add_0x
logging.basicConfig(level=logging.WARNING)
logg = logging.getLogger()
default_eth_provider = os.environ.get('ETH_PROVIDER', 'http://localhost:8545')
-def stdin_arg():
- h = select.select([sys.stdin], [], [], 0)
- if len(h[0]) > 0:
- v = h[0][0].read()
- return v.rstrip()
- return None
-
argparser = argparse.ArgumentParser()
argparser.add_argument('-p', '--provider', dest='p', default='http://localhost:8545', type=str, help='Web3 provider url (http only)')
argparser.add_argument('-i', '--chain-spec', dest='i', type=str, default='evm:ethereum:1', help='Chain specification string')
@@ -37,17 +28,15 @@ argparser.add_argument('--env-prefix', default=os.environ.get('CONFINI_ENV_PREFI
argparser.add_argument('-u', '--unsafe', dest='u', action='store_true', help='Auto-convert address to checksum adddress')
argparser.add_argument('-v', action='store_true', help='Be verbose')
argparser.add_argument('-vv', action='store_true', help='Be more verbose')
-argparser.add_argument('address', nargs='?', type=str, default=stdin_arg(), help='Ethereum address of recipient')
+argparser.add_argument('address', type=str, help='Ethereum address of recipient')
args = argparser.parse_args()
-if args.address == None:
- argparser.error('need first positional argument or value from stdin')
-
if args.vv:
logg.setLevel(logging.DEBUG)
elif args.v:
logg.setLevel(logging.INFO)
+
signer_address = None
keystore = DictKeystore()
if args.y != None:
@@ -63,7 +52,7 @@ def main():
if not args.u and recipient != add_0x(args.address):
raise ValueError('invalid checksum address')
- o = count(recipient)
+ o = count(args.address)
print(rpc.do(o))
diff --git a/chainlib/eth/runnable/decode.py b/chainlib/eth/runnable/decode.py
@@ -15,9 +15,8 @@ import os
import json
import argparse
import logging
-import select
-# external imports
+# third-party imports
from chainlib.eth.tx import unpack
from chainlib.chain import ChainSpec
@@ -31,27 +30,14 @@ logg = logging.getLogger()
default_abi_dir = os.environ.get('ETH_ABI_DIR', '/usr/share/local/cic/solidity/abi')
default_eth_provider = os.environ.get('ETH_PROVIDER', 'http://localhost:8545')
-def stdin_arg():
- h = select.select([sys.stdin], [], [], 0)
- if len(h[0]) > 0:
- v = h[0][0].read()
- return v.rstrip()
- return None
-
argparser = argparse.ArgumentParser()
-argparser.add_argument('-i', '--chain-id', dest='i', default='evm:ethereum:1', type=str, help='Numeric network id')
-argparser.add_argument('tx', type=str, nargs='?', default=stdin_arg(), help='hex-encoded signed raw transaction')
argparser.add_argument('-v', action='store_true', help='Be verbose')
-argparser.add_argument('-vv', action='store_true', help='Be more verbose')
+argparser.add_argument('-i', '--chain-id', dest='i', default='evm:ethereum:1', type=str, help='Numeric network id')
+argparser.add_argument('tx', type=str, help='hex-encoded signed raw transaction')
args = argparser.parse_args()
-if args.tx == None:
- argparser.error('need first positional argument or value from stdin')
-
-if args.vv:
+if args.v:
logg.setLevel(logging.DEBUG)
-elif args.v:
- logg.setLevel(logging.INFO)
chain_spec = ChainSpec.from_chain_str(args.i)
diff --git a/chainlib/eth/runnable/get.py b/chainlib/eth/runnable/get.py
@@ -16,7 +16,6 @@ import json
import argparse
import logging
import enum
-import select
# external imports
from hexathon import (
@@ -44,14 +43,7 @@ logg = logging.getLogger()
default_abi_dir = os.environ.get('ETH_ABI_DIR', '/usr/share/local/cic/solidity/abi')
default_eth_provider = os.environ.get('ETH_PROVIDER', 'http://localhost:8545')
-def stdin_arg():
- h = select.select([sys.stdin], [], [], 0)
- if len(h[0]) > 0:
- v = h[0][0].read()
- return v.rstrip()
- return None
-
-argparser = argparse.ArgumentParser('eth-get', description='display information about an Ethereum address or transaction', epilog='address/transaction can be provided as an argument or from standard input')
+argparser = argparse.ArgumentParser()
argparser.add_argument('-p', '--provider', dest='p', default=default_eth_provider, type=str, help='Web3 provider url (http only)')
argparser.add_argument('-i', '--chain-spec', dest='i', type=str, default='evm:ethereum:1', help='Chain specification string')
argparser.add_argument('-t', '--token-address', dest='t', type=str, help='Token address. If not set, will return gas balance')
@@ -59,12 +51,9 @@ argparser.add_argument('-u', '--unsafe', dest='u', action='store_true', help='Au
argparser.add_argument('--abi-dir', dest='abi_dir', type=str, default=default_abi_dir, help='Directory containing bytecode and abi (default {})'.format(default_abi_dir))
argparser.add_argument('-v', action='store_true', help='Be verbose')
argparser.add_argument('-vv', action='store_true', help='Be more verbose')
-argparser.add_argument('item', nargs='?', default=stdin_arg(), type=str, help='Item to get information for (address og transaction)')
+argparser.add_argument('item', type=str, help='Item to get information for (address og transaction)')
args = argparser.parse_args()
-if args.item == None:
- argparser.error('need first positional argument or value from stdin')
-
if args.vv:
logg.setLevel(logging.DEBUG)
elif args.v: