def sign_create_deposit(deposit_params, key_pair):
    """
    Function to create a deposit request by generating a transaction request from the Switcheo API.
    Execution of this function is as follows::

        sign_create_deposit(deposit_details=create_deposit, key_pair=key_pair)

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

        {
            'blockchain': 'neo',
            'asset_id': 'SWTH',
            'amount': '100',
            'timestamp': 1542091927575,
            'contract_hash': 'a195c1549e7da61b8da315765a790ac7e7633b82',
            'address': 'fea2b883725ef2d194c9060f606cd0a0468a2c59',
            'signature': '24ef6c63964988a2efe5fe67f04f46fdc2f1504fb5....'
        }

    :param deposit_params: The parameters generated by the create deposit function that now requires signature.
    :type deposit_params: dict
    :param key_pair: The KeyPair for the wallet being used to sign deposit message.
    :type key_pair: KeyPair
    :return: Dictionary response of signed deposit request that is ready to be executed on the NEO blockchain.
    """
    encoded_message = encode_message(deposit_params)
    create_params = deposit_params.copy()
    create_params['address'] = neo_get_scripthash_from_private_key(private_key=key_pair.PrivateKey).ToString()
    create_params['signature'] = sign_message(encoded_message=encoded_message,
                                              private_key_hex=private_key_to_hex(key_pair=key_pair))
    return create_params