call method

Future call(
  1. String method, [
  2. List? params
])

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'];
}