contract CFVaultInterface{
  address public target_token; //this is for V2
  address public lp_token; //this is for both V1 and V2
  function withdraw(uint256 _amount) public; //this is for V2
  function deposit(uint256 _amount) public payable; //this is for V1
}
function deposit(uint256 _amount) public payable; //this is for V1

//this is for V2