parse static method

ParsedAbi parse(
  1. String jsonAbi
)

Implementation

static ParsedAbi parse(String jsonAbi) {
  final list = json.decode(jsonAbi) as List<dynamic>;
  final functions = <SolFunction>[];
  final events = <SolEvent>[];
  final errors = <SolError>[];

  for (final entry in list) {
    final map = entry as Map<String, dynamic>;
    final type = map['type'] as String? ?? 'function';

    switch (type) {
      case 'function':
        functions.add(_parseFunction(map));
        break;
      case 'event':
        events.add(_parseEvent(map));
        break;
      case 'error':
        errors.add(_parseError(map));
        break;
      case 'constructor':
      case 'fallback':
      case 'receive':
        break;
    }
  }

  return ParsedAbi(functions: functions, events: events, errors: errors);
}