def sign_execute_deposit(deposit_params, private_key, infura_url):
    """
    Function to execute the deposit request by signing the transaction generated from the create deposit function.
    Execution of this function is as follows::

        sign_execute_deposit(deposit_params=create_deposit, private_key=eth_private_key)

    The expected return result for this function is as follows::

        {
            'transaction_hash': '0xcf3ea5d1821544e1686fbcb1f49d423b9ea9f42772ff9ecdaf615616d780fa75'
        }

    :param deposit_params: The parameters generated by the create function that now requires a signature.
    :type deposit_params: dict
    :param private_key: The Ethereum private key to sign the deposit parameters.
    :type private_key: str
    :param infura_url: The URL used to broadcast the deposit transaction to the Ethereum network.
    :type infura_url: str
    :return: Dictionary of the signed transaction to initiate the deposit of ETH via the Switcheo API.
    """
    create_deposit_upper = deposit_params.copy()
    create_deposit_upper['transaction']['from'] = to_checksum_address(create_deposit_upper['transaction']['from'])
    create_deposit_upper['transaction']['to'] = to_checksum_address(create_deposit_upper['transaction']['to'])
    create_deposit_upper['transaction'].pop('sha256')
    signed_create_txn = Account.signTransaction(create_deposit_upper['transaction'], private_key=private_key)
    execute_signed_txn = binascii.hexlify(signed_create_txn['hash']).decode()

    # Broadcast transaction to Ethereum Network.
    Web3(HTTPProvider(infura_url)).eth.sendRawTransaction(signed_create_txn.rawTransaction)

    return {'transaction_hash': '0x' + execute_signed_txn}