gnosis/safe/safe_creation_tx.py
def _sign_web3_transaction(tx: Dict[str, any], v: int, r: int, s: int) -> (bytes, HexBytes):
        """
        Signed transaction that compatible with `w3.eth.sendRawTransaction`
        Is not used because `pyEthereum` implementation of Transaction was found to be more
        robust regarding invalid signatures
        """
        unsigned_transaction = serializable_unsigned_transaction_from_dict(tx)
        rlp_encoded_transaction = encode_transaction(unsigned_transaction, vrs=(v, r, s))

        # To get the address signing, just do ecrecover_to_pub(unsigned_transaction.hash(), v, r, s)
        return rlp_encoded_transaction, unsigned_transaction.hash()
def _sign_web3_transaction(tx: Dict[str, any], v: int, r: int, s: int) -> (bytes, HexBytes):
        """
        Signed transaction that compatible with `w3.eth.sendRawTransaction`
        Is not used because `pyEthereum` implementation of Transaction was found to be more
        robust regarding invalid signatures
        """
        unsigned_transaction = serializable_unsigned_transaction_from_dict(tx)
        rlp_encoded_transaction = encode_transaction(unsigned_transaction, vrs=(v, r, s))

        # To get the address signing, just do ecrecover_to_pub(unsigned_transaction.hash(), v, r, s)
        return rlp_encoded_transaction, unsigned_transaction.hash()
Signed transaction that compatible with `w3.eth.sendRawTransaction`
        Is not used because `pyEthereum` implementation of Transaction was found to be more
        robust regarding invalid signatures