interface TokenRecipient {

    /**
    * @notice Receives a notification of approval of the transfer
    * @param _from Sender of approval
    * @param _value  The amount of tokens to be spent
    * @param _tokenContract Address of the token contract
    * @param _extraData Extra data
    */
    function receiveApproval(address _from, uint256 _value, address _tokenContract, bytes calldata _extraData) external;

}
/**
 * @dev Interface to use the receiveApproval method
 */
function receiveApproval(address _from, uint256 _value, address _tokenContract, bytes calldata _extraData) external;

/**
 * @notice Receives a notification of approval of the transfer
 * @param _from Sender of approval
 * @param _value  The amount of tokens to be spent
 * @param _tokenContract Address of the token contract
 * @param _extraData Extra data
 */