ed25519_verify method

void ed25519_verify(
  1. String key,
  2. String message,
  3. String signature
)

Implementation

void ed25519_verify(String key, String message, String signature) {
  final key_units = utf8.encode(key);
  final message_units = utf8.encode(message);
  final signature_units = utf8.encode(signature);
  final mem1 = malloc.call<Uint8>(
      key_units.length + message_units.length + signature_units.length);
  final mem2 = mem1.elementAt(key_units.length);
  final mem3 = mem2.elementAt(message_units.length);
  try {
    mem1.asTypedList(key_units.length).setAll(0, key_units);
    mem2.asTypedList(message_units.length).setAll(0, message_units);
    mem3.asTypedList(signature_units.length).setAll(0, signature_units);
    olm_ed25519_verify(_inst, mem1, key_units.length, mem2,
        message_units.length, mem3, signature_units.length);
  } finally {
    malloc.free(mem1);
  }
}