contract IERC20NonView {
    // Methods are not view to avoid throw on proxy tokens with delegatecall inside
    function balanceOf(address user) public returns(uint256);
    function allowance(address from, address to) public returns(uint256);
}
function balanceOf(address user) public returns(uint256);

// Methods are not view to avoid throw on proxy tokens with delegatecall inside