AbiFunction.fromJson constructor

AbiFunction.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory AbiFunction.fromJson(Map<String, dynamic> json) {
  final inputs = <AbiType>[];
  final inputNames = <String>[];
  final outputs = <AbiType>[];
  final outputNames = <String>[];

  for (final input in (json['inputs'] as List?) ?? []) {
    inputs.add(_parseInput(input as Map<String, dynamic>));
    inputNames.add(input['name'] as String? ?? '');
  }

  for (final output in (json['outputs'] as List?) ?? []) {
    outputs.add(_parseInput(output as Map<String, dynamic>));
    outputNames.add(output['name'] as String? ?? '');
  }

  return AbiFunction(
    name: json['name'] as String,
    inputs: inputs,
    inputNames: inputNames,
    outputs: outputs,
    outputNames: outputNames,
    stateMutability: json['stateMutability'] as String? ?? 'nonpayable',
  );
}