Beispiel #1
0
    def sign(self, key, network_id=None):
        """Sign this transaction with a private key.

        A potentially already existing signature would be overridden.
        """
        if network_id is not None:
            self.network_id = network_id
        key = normalize_key(key)

        self.v, self.r, self.s = ecsign(self.hash_unsigned, key)

        self._sender = utils.privtoaddr(key)
        return self
    def sign(self, key, network_id=None):
        """Sign this transaction with a private key.

        A potentially already existing signature would be overridden.
        """
        if network_id is not None:
            self.network_id = network_id
        key = normalize_key(key)

        self._in_mutable_context = True

        if self.version == 0:
            self.v, self.r, self.s = ecsign(self.hash_unsigned, key)
        if self.version == 1:
            self.v, self.r, self.s = ecsign(self.hash_typed, key)
        if self.version == 2:
            self.v, self.r, self.s = ecsign(self.hash_unsigned, key)
            self.v = self.v + 35 - 27 + self.network_id * 2
        if self.version > 2:
            raise InvalidTransaction("Invalid transaction version.")
        self._in_mutable_context = False

        self._sender = utils.privtoaddr(key)
        return self