commit eb9e1911b1ef7931b0e765bc5e41fb1811e1bcfa
parent 50a9a22ceb846db2ee5a78dcc1bfcd84900d0c73
Author: lash <dev@holbrook.no>
Date: Sat, 11 Feb 2023 10:28:56 +0000
Add publish script
Diffstat:
2 files changed, 93 insertions(+), 4 deletions(-)
diff --git a/python/eth_faucet/runnable/publish.py b/python/eth_faucet/runnable/publish.py
@@ -0,0 +1,88 @@
+"""Deploys accounts index, registering arbitrary number of writers
+
+.. moduleauthor:: Louis Holbrook <dev@holbrook.no>
+.. pgp:: 0826EDA1702D1E87C6E2875121D2E7BB88C2A746
+
+"""
+
+# standard imports
+import sys
+import os
+import logging
+
+# external imports
+import chainlib.eth.cli
+from chainlib.chain import ChainSpec
+from chainlib.eth.connection import EthHTTPConnection
+from chainlib.eth.tx import receipt
+from chainlib.eth.cli.arg import (
+ Arg,
+ ArgFlag,
+ process_args,
+ )
+from chainlib.eth.cli.config import (
+ Config,
+ process_config,
+ )
+from chainlib.eth.cli.log import process_log
+from chainlib.eth.settings import process_settings
+from chainlib.settings import ChainSettings
+
+# local imports
+from eth_faucet import EthFaucet
+
+logging.basicConfig(level=logging.WARNING)
+logg = logging.getLogger()
+
+arg_flags = ArgFlag()
+arg = Arg(arg_flags)
+flags = arg_flags.STD_WRITE
+
+argparser = chainlib.eth.cli.ArgumentParser()
+argparser = process_args(argparser, arg, flags)
+args = argparser.parse_args()
+
+logg = process_log(args, logg)
+
+config = Config()
+config = process_config(config, arg, args, flags)
+logg.debug('config loaded:\n{}'.format(config))
+
+settings = ChainSettings()
+settings = process_settings(settings, config)
+logg.debug('settings loaded:\n{}'.format(settings))
+
+
+def main():
+ conn = settings.get('CONN')
+
+ c = EthFaucet(
+ settings.get('CHAIN_SPEC'),
+ signer=settings.get('SIGNER'),
+ gas_oracle=settings.get('FEE_ORACLE'),
+ nonce_oracle=settings.get('NONCE_ORACLE'),
+ )
+
+ (tx_hash_hex, o) = c.constructor(
+ settings.get('SENDER_ADDRESS'),
+ )
+
+ if settings.get('RPC_SEND'):
+ conn.do(o)
+ if config.true('_WAIT'):
+ r = conn.wait(tx_hash_hex)
+ if r['status'] == 0:
+ sys.stderr.write('EVM revert while deploying contract. Wish I had more to tell you')
+ sys.exit(1)
+ # TODO: pass through translator for keys (evm tester uses underscore instead of camelcase)
+ address = r['contractAddress']
+
+ print(address)
+ else:
+ print(tx_hash_hex)
+ else:
+ print(o)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/python/setup.cfg b/python/setup.cfg
@@ -1,6 +1,6 @@
[metadata]
name = eth-faucet
-version = 0.1.0
+version = 0.1.1
description = Gas token gifter with controls from time intervals, amounts and access.
author = Louis Holbrook
author_email = dev@holbrook.no
@@ -25,6 +25,7 @@ include_package_data = True
python_requires = >= 3.6
packages =
eth_faucet
+ eth_faucet.runnable
[options.extras_require]
testing =
@@ -37,6 +38,6 @@ testing =
**/data/*.json
**/data/*.bin
-#[options.entry_points]
-#console_scripts =
- #eth-faucet-publish = eth_faucet.runnable.publish:main
+[options.entry_points]
+console_scripts =
+ eth-faucet-publish = eth_faucet.runnable.publish:main