call method
Implementation
Future<dynamic> call(String method, [List<dynamic>? params]) async {
final id = nextId;
final payload = {
'jsonrpc': '2.0',
'id': id,
'method': method,
'params': params ?? [],
};
final body = jsonEncode(payload);
final responseBody = await _postJson(body);
final json = jsonDecode(responseBody) as Map<String, dynamic>;
if (json.containsKey('error') && json['error'] != null) {
final err = json['error'] as Map<String, dynamic>;
throw JsonRpcError(
code: err['code'] as int,
message: err['message'] as String,
data: err['data'],
);
}
return json['result'];
}