Returns the name of the token. If token doesn't have name, return empty string.
FutureOr<String> get name async { try { if (_name.isEmpty) _name = await contract.call<String>('name'); } catch (error) {} return _name; }