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 account = accountFromArgs(globalResults);

  final res = await account.execute(
    functionCalls: [
      FunctionCall(
        contractAddress: Felt.fromHexString(
          argResults?['contract-address'] as String,
        ),
        entryPointSelector: getSelectorByName('transfer'),
        calldata: [
          Felt.fromHexString(argResults?['to'] as String),
          Felt.fromIntString(argResults?['amount'] as String),
          Felt.zero, // Uint high
        ],
      ),
    ],
  );

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