Esempio n. 1
0
    def __init__(
        self,
        host: str,
        port: int,
        initial_reconnect_delay: int,
        concent_public_key: bytes,
        signing_service_private_key: bytes,
        ethereum_private_key: str,
        maximum_reconnect_attempts: int,
        notifier: Union[ConsoleNotifier, EmailNotifier],
    ) -> None:
        assert isinstance(host, str)
        assert isinstance(port, int)
        assert isinstance(initial_reconnect_delay, int)
        assert isinstance(concent_public_key, bytes)
        assert isinstance(signing_service_private_key, bytes)
        assert isinstance(ethereum_private_key, str)
        self.host = host  # type: str
        self.port = port  # type: int
        self.initial_reconnect_delay: int = initial_reconnect_delay
        self.concent_public_key = concent_public_key  # type: bytes
        self.signing_service_private_key = signing_service_private_key  # type: bytes
        self.signing_service_public_key = privtopub(signing_service_private_key)
        self.ethereum_private_key = ethereum_private_key  # type: str
        self.current_reconnect_delay: Union[int, None] = None
        self.was_sigterm_caught: bool = False
        self.reconnection_counter = 0
        self.maximum_reconnection_attempts = maximum_reconnect_attempts
        self.notifier = notifier
        self.signing_service_daily_transaction_sum_so_far = 0
        self.daily_transactions_limit_file_name = datetime.datetime.now().strftime('%Y-%m-%d')

        self._validate_arguments()

        def _set_was_sigterm_caught_true(signum: int, frame: Optional[FrameType]) -> None:  # pylint: disable=unused-argument
            logger.info('Closing connection and exiting on SIGTERM.')
            self.was_sigterm_caught = True

        # Handle shutdown signal.
        signal.signal(signal.SIGTERM, _set_was_sigterm_caught_true)
Esempio n. 2
0
    def __init__(
        self,
        host: str,
        port: int,
        initial_reconnect_delay: int,
        concent_public_key: bytes,
        signing_service_private_key: bytes,
        ethereum_private_key: str,
        maximum_reconnect_attempts: int,
        notifier: Notifier,
    ) -> None:
        assert isinstance(host, str)
        assert isinstance(port, int)
        assert isinstance(initial_reconnect_delay, int)
        assert isinstance(concent_public_key, bytes)
        assert isinstance(signing_service_private_key, bytes)
        assert isinstance(ethereum_private_key, str)
        self.host = host  # type: str
        self.port = port  # type: int
        self.initial_reconnect_delay: int = initial_reconnect_delay
        self.concent_public_key = concent_public_key  # type: bytes
        self.signing_service_private_key = signing_service_private_key  # type: bytes
        self.signing_service_public_key = privtopub(
            signing_service_private_key)
        self.ethereum_private_key = ethereum_private_key  # type: str
        self.current_reconnect_delay: Union[int, None] = None
        self.was_sigterm_caught: bool = False
        self.reconnection_counter = 0
        self.maximum_reconnection_attempts = maximum_reconnect_attempts
        self.notifier = notifier
        self.signing_service_daily_transaction_sum_so_far = 0
        self.daily_transactions_limit_file_name = datetime.datetime.now(
        ).strftime('%Y-%m-%d')

        self._validate_arguments()

        # Handle shutdown signal.
        signal.signal(signal.SIGTERM, self._set_was_sigterm_caught_true)
Esempio n. 3
0
def generate_priv_and_pub_eth_account_key():
    client_eth_priv_key = os.urandom(32)
    client_eth_pub_key = privtopub(client_eth_priv_key)
    return (client_eth_priv_key, client_eth_pub_key)
Esempio n. 4
0
 def test_pubkey_suits_privkey(self):
     ka = self._create_keysauth()
     self.assertEqual(ka.public_key, privtopub(ka._private_key))
 def test_privtopub(self):
     priv = mk_privkey('test')
     pub = privtopub(priv)
     pub2 = ECCx(raw_privkey=priv).raw_pubkey
     assert pub == pub2