ThorFunction constructor

ThorFunction(
  1. String jsonString
)

Implementation

ThorFunction(String jsonString) {
  Map tempF = json.decode(jsonString);

  //parse inputs/parameters of function into FunctionParameters
  List<FunctionParameter> inputs = [];
  for (var input in tempF['inputs']) {
    if (input['type'] == 'tuple') {
      List<AbiType> components = [];
      for (var component in input['components']) {
        components.add(parseAbiType(component['type']));
      }
      inputs.add(FunctionParameter(input['name'], TupleType(components)));
    } else {
      inputs
          .add(FunctionParameter(input['name'], parseAbiType(input['type'])));
    }
  }

  //parse outputs of function
  List<FunctionParameter> outputs = [];
  for (var output in tempF['outputs']) {
    outputs
        .add(FunctionParameter(output['name'], parseAbiType(output['type'])));
  }

  function = ContractFunction(tempF['name'], inputs,
      outputs: outputs,
      type: parseFunctionType(tempF['type']),
      mutability: parseStateMutability(tempF['stateMutability']));
}