示例#1
0
        def call_with_common_options_initialized(**params: Any) -> Callable:
            params["private_key"] = _open_keystore(params.pop("keystore_file"),
                                                   params.pop("password"))

            # Don't print traceback on KeyboardInterrupt
            gevent.get_hub().NOT_ERROR += (KeyboardInterrupt, )

            try:
                setup_logging(log_level=params.pop("log_level"),
                              log_json=params.pop("log_json"))
                if not params["state_db"]:
                    # only RC has `chain_id`, MS and PFS have `web3` object
                    chain_id = str(
                        params.get("chain_id") or params["web3"].net.version)
                    contracts_version = CONTRACTS_VERSION.replace(".", "_")
                    filename = f"{app_name}-{chain_id}-{contracts_version}.db"
                    data_dir = click.get_app_dir(app_name)
                    params["state_db"] = os.path.join(data_dir, filename)

                # Need to delete the `chain_id` key
                if params.get("chain_id") is not None:
                    del params["chain_id"]

                return func(**params)
            finally:
                structlog.reset_defaults()
示例#2
0
 def find_by_ticker(ticker):
     major, minor, _ = CONTRACTS_VERSION.split(".", 2)
     version_string = f"{major}.{minor}"
     token_list_version = {
         "0.25": TokensV25,
         "0.33": TokensV33
     }.get(version_string, Tokens)
     return token_list_version[ticker].value
示例#3
0
 def find_by_ticker(ticker, network = None):
     major, minor, _ = CONTRACTS_VERSION.split(".", 2)
     version_string = f"{major}.{minor}"
     token_list_version = {"0.25": TokensV25,
                           "0.33": TokensV33,
                           "0.36": TokensV36,
                           "0.37": TokensV37}\
         .get(version_string, Tokens)
     return replace(token_list_version[ticker].value, network=network)
示例#4
0
    def find_by_ticker(ticker, network_name):
        major, minor, _ = CONTRACTS_VERSION.split(".", 2)
        version_string = f"{major}.{minor}"
        token_list_version = {
            "0.25": TokensV25,
            "0.33": TokensV33,
            "0.36": TokensV36,
            "0.37": TokensV37,
        }.get(version_string, Tokens)
        try:
            token_data = token_list_version[ticker].value
            address = token_data.addresses[network_name]
        except KeyError as exc:
            raise TokenError(
                f"{ticker} is not deployed on {network_name}") from exc

        return Erc20Token(ticker=token_data.ticker,
                          wei_ticker=token_data.wei_ticker,
                          address=to_canonical_address(address))