Ejemplo n.º 1
0
    def _run_setup(self, **kw):
        account_file = kw.get("account_file")
        account = Account(account_file, passphrase=get_passphrase())
        form = QuickSetupForm(
            meta=dict(network=self.installer_settings.network),
            endpoint=kw.get("endpoint"))
        if form.validate():
            self._send_status_update(
                "Generating new wallet and configuration file for raiden")

            network = Network.get_by_name(self.installer_settings.network)
            infura_url_or_id = form.data["endpoint"].strip()
            ethereum_rpc_provider = Infura.make(network, infura_url_or_id)

            try:
                check_eth_node_responsivity(ethereum_rpc_provider.url)
            except ValueError as e:
                self._send_error_message(f"Ethereum node unavailable: {e}.")
                return

            conf_file = RaidenConfigurationFile(
                account.keystore_file_path,
                self.installer_settings,
                ethereum_rpc_provider.url,
                routing_mode=self.installer_settings.routing_mode,
                enable_monitoring=self.installer_settings.monitoring_enabled,
            )
            conf_file.save()

            self._send_redirect(
                self.reverse_url("account", conf_file.file_name))
        else:
            self._send_error_message(
                f"Failed to create account. Error: {form.errors}")
Ejemplo n.º 2
0
 def __init__(self, account_filename: str, network: Network,
              ethereum_client_rpc_endpoint: str, **kw):
     if 'passphrase' in kw:
         self.account = Account(account_filename,
                                passphrase=kw.get('passphrase'))
     else:
         self.account = Account(account_filename)
     self.account_filename = account_filename
     self.network = network
     self.settings = network_settings[network.name]
     self.ethereum_client_rpc_endpoint = ethereum_client_rpc_endpoint
     self.accept_disclaimer = kw.get("accept_disclaimer", True)
     self.enable_monitoring = kw.get("enable_monitoring",
                                     self.settings.monitoring_enabled)
     self.routing_mode = kw.get("routing_mode", self.settings.routing_mode)
     self.services_version = self.settings.services_version
     self._initial_funding_txhash = kw.get("_initial_funding_txhash")
Ejemplo n.º 3
0
 def _run_unlock(self, **kw):
     passphrase = kw.get("passphrase")
     keystore_file_path = kw.get("keystore_file_path")
     account = Account(keystore_file_path)
     if account.check_passphrase(passphrase):
         set_passphrase(passphrase)
         self._send_redirect(kw.get("return_to"))
     else:
         self._send_error_message("Incorrect passphrase, try again.")
Ejemplo n.º 4
0
 def __init__(self, account_filename: Union[Path, str], settings: Settings,
              ethereum_client_rpc_endpoint: str, **kw):
     self.account = Account(account_filename)
     self.account_filename = account_filename
     self.settings = settings
     self.network = Network.get_by_name(self.settings.network)
     self.ethereum_client_rpc_endpoint = ethereum_client_rpc_endpoint
     self.accept_disclaimer = kw.get("accept_disclaimer", True)
     self.enable_monitoring = kw.get("enable_monitoring",
                                     self.settings.monitoring_enabled)
     self.routing_mode = kw.get("routing_mode", self.settings.routing_mode)
     self.services_version = self.settings.services_version
     self._initial_funding_txhash = kw.get("_initial_funding_txhash")
Ejemplo n.º 5
0
    def load(cls, file_path: Path):
        file_name, _ = os.path.splitext(os.path.basename(file_path))

        _, _, network_name = file_name.split("-")

        with file_path.open() as config_file:
            data = toml.load(config_file)
            passphrase = PassphraseFile(Path(data["password-file"])).retrieve()
            account = Account(data["keystore-file-path"],
                              passphrase=passphrase)
            return cls(
                account=account,
                ethereum_client_rpc_endpoint=data["eth-rpc-endpoint"],
                network=Network.get_by_name(network_name),
                routing_mode=data["routing-mode"],
                enable_monitoring=data["enable-monitoring"],
            )
Ejemplo n.º 6
0
    def test_can_not_get_private_key_without_passphrase(self):
        empty_account = Account(Path("/invalid_folder"))

        with self.assertRaises(ValueError):
            empty_account.private_key
Ejemplo n.º 7
0
 def setUp(self):
     super().setUp()
     keystore_file_path = self.account.keystore_file_path
     self.locked_account = Account(keystore_file_path)
Ejemplo n.º 8
0
 def test_has_no_content_when_keystore_file_does_not_exist(self):
     path = TESTING_KEYSTORE_FOLDER.joinpath("non", "existent", "path")
     account = Account(path)
     self.assertIsNone(account.content)