interface ICharityFund {
event Donation(address indexed account, address indexed token, uint256 amount);
event Withdrawal(address indexed token, uint256 amount);
function accepted(address) view returns (bool);
function campaignId() view returns (uint8);
function donateNativeToken() payable;
function donateToken(address _token, uint256 _wei);
function donationTotals(address) view returns (uint256);
function getInfo() view returns (tuple(bool accepted, address token, string name, string symbol, uint256 decimals, uint256 total, uint256 balance, uint256 userDonation)[]);
function multisig() view returns (address);
function owner() view returns (address);
function tokens(uint256) view returns (address);
function withdraw(address _token);
function withdrawAll();
function withdrawNative();
}