toApplicationArguments method

List<Uint8List> toApplicationArguments()

Convert an array of arguments like "str:arg1,str:arg2" into a properly converted byte array.

Implementation

List<Uint8List> toApplicationArguments() {
  final arguments = split(',').map((arg) {
    final parts = arg.split(':');
    switch (parts[0]) {
      case 'str':
        return Uint8List.fromList(utf8.encode(parts[1]));
      case 'int':
        return BigIntEncoder.encodeUint64(BigInt.parse(parts[1]));
      case 'addr':
        final address = Address.fromAlgorandAddress(parts[1]);
        return address.toBytes();
      default:
        throw AlgorandException(message: 'Does not support conversion');
    }
  }).toList();

  return arguments;
}