read method

Future<List> read(
  1. String functionName,
  2. List args, [
  3. String block = 'latest'
])
inherited

Executes a read-only contract function call.

Implementation

Future<List<dynamic>> read(
  String functionName,
  List<dynamic> args, [
  String block = 'latest',
]) async {
  final function = _getFunction(functionName);
  if (!function.isReadOnly) {
    throw ArgumentError('Function $functionName is not read-only');
  }

  final callData = AbiEncoder.encodeFunction(function.signature, args);
  final request = CallRequest(
    to: address,
    data: callData,
  );

  final result = await publicClient.call(request, block);
  return AbiDecoder.decodeFunction(function.outputs, result);
}