run method

  1. @override
Future<void> run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
Future<void> run() async {
  final provider = providerFromArgs(globalResults);
  final res = await provider.call(
    request: FunctionCall(
      contractAddress: Felt.fromHexString(
        argResults?['contract-address'] as String,
      ),
      entryPointSelector: getSelectorByName('balanceOf'),
      calldata: [
        Felt.fromHexString(
          argResults?['account'] as String,
        ),
      ],
    ),
    blockId: BlockId.latest,
  );

  stdout.writeln(
    res.when(
      result: (result) => result[0].toBigInt(),
      error: (error) => throw Exception(error),
    ),
  );
}