45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
|
# standard imports
|
||
|
import os
|
||
|
|
||
|
# external imports
|
||
|
from chainlib.cli import (
|
||
|
ArgumentParser,
|
||
|
argflag_std_read,
|
||
|
argflag_std_write,
|
||
|
argflag_std_base,
|
||
|
Config as BaseConfig,
|
||
|
Wallet as BaseWallet,
|
||
|
Rpc as BaseRpc,
|
||
|
Flag,
|
||
|
)
|
||
|
from crypto_dev_signer.eth.signer import ReferenceSigner as EIP155Signer
|
||
|
|
||
|
# local imports
|
||
|
from chainlib.eth.address import AddressChecksum
|
||
|
from chainlib.eth.connection import EthHTTPConnection
|
||
|
|
||
|
script_dir = os.path.dirname(os.path.realpath(__file__))
|
||
|
|
||
|
class Wallet(BaseWallet):
|
||
|
"""Convenience constructor to set Ethereum defaults for chainlib cli Wallet object
|
||
|
|
||
|
:param checksummer: Address checksummer object
|
||
|
:type checksummer: Implementation of chainlib.eth.address.AddressChecksum
|
||
|
"""
|
||
|
def __init__(self, checksummer=AddressChecksum):
|
||
|
super(Wallet, self).__init__(EIP155Signer, checksummer=checksummer)
|
||
|
|
||
|
|
||
|
class Rpc(BaseRpc):
|
||
|
"""Convenience constructor to set Ethereum defaults for chainlib cli Rpc object
|
||
|
"""
|
||
|
def __init__(self, wallet=None):
|
||
|
super(Rpc, self).__init__(EthHTTPConnection, wallet=wallet)
|
||
|
|
||
|
|
||
|
class Config(BaseConfig):
|
||
|
"""Convenience constructor to set Ethereum defaults for the chainlib cli config object
|
||
|
"""
|
||
|
default_base_config_dir = os.path.join(script_dir, 'data', 'config')
|
||
|
default_fee_limit = 21000
|