commit d24fea2d4f5fa4c0a5ff4feb6fcac8df4015d71a
parent d3f6d1138d4f3c7114f055026a40677c1dbd0c85
Author: lash <dev@holbrook.no>
Date: Sun, 20 Feb 2022 18:27:00 +0000
Passphrase file in wallet key file
Diffstat:
4 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
@@ -1,3 +1,7 @@
+- 0.0.19
+ * Passphrase file option to unlock keyfile for CLI tooling
+- 0.0.18
+ * Upgrade hexathon skipping buggy compact hex method
- 0.0.17
* Add loglevel environment variable
- 0.0.16
diff --git a/chainlib/cli/arg.py b/chainlib/cli/arg.py
@@ -166,6 +166,7 @@ class ArgumentParser(argparse.ArgumentParser):
self.add_argument('--seq', action='store_true', help='Use sequential rpc ids')
if arg_flags & Flag.KEY_FILE:
self.add_argument('-y', '--key-file', dest='y', type=str, help='Keystore file to use for signing or address')
+ self.add_argument('--passphrase-file', dest='passphrase_file', type=str, help='File containing passphrase for keystore')
if arg_flags & Flag.SEND:
self.add_argument('-s', '--send', dest='s', action='store_true', help='Send to network')
if arg_flags & Flag.RAW:
diff --git a/chainlib/cli/config.py b/chainlib/cli/config.py
@@ -3,6 +3,7 @@ import logging
import os
import sys
import re
+import stat
# external imports
import confini
@@ -213,7 +214,14 @@ class Config(confini.Config):
args_override['CHAIN_SPEC'] = getattr(args, 'i')
if arg_flags & Flag.KEY_FILE:
args_override['WALLET_KEY_FILE'] = getattr(args, 'y')
-
+ fp = getattr(args, 'passphrase_file')
+ if fp != None:
+ st = os.stat(fp)
+ if stat.S_IMODE(st.st_mode) & (stat.S_IRWXO | stat.S_IRWXG) > 0:
+ logg.warning('others than owner have access on password file')
+ f = open(fp, 'r')
+ args_override['WALLET_PASSPHRASE'] = f.read()
+ f.close()
config.dict_override(args_override, 'cli args')
if arg_flags & Flag.PROVIDER:
diff --git a/setup.cfg b/setup.cfg
@@ -3,7 +3,7 @@ name=chainlib
license=WTFPL2
author_email=dev@holbrook.no
description=Generic blockchain access library and tooling
-version=0.0.18
+version=0.0.19
url=https://gitlab.com/chaintools/chainlib
author=Louis Holbrook