askarKeyCryptoBoxSeal function

AskarResult<Uint8List> askarKeyCryptoBoxSeal(
  1. LocalKeyHandle handle,
  2. Uint8List message
)

Implementation

AskarResult<Uint8List> askarKeyCryptoBoxSeal(LocalKeyHandle handle, Uint8List message) {
  Pointer<NativeByteBuffer> messagePtr = bytesListToByteBuffer(message);
  Pointer<NativeSecretBuffer> secretBufferPtr = calloc<NativeSecretBuffer>();

  try {
    final result = nativeAskarKeyCryptoBoxSeal(
      handle.toInt(),
      messagePtr.ref,
      secretBufferPtr,
    );

    final errorCode = ErrorCode.fromInt(result);

    final value = secretBufferToBytesList(secretBufferPtr.ref);

    return AskarResult<Uint8List>(errorCode, value);
  } finally {
    freeByteBufferPointer(messagePtr);
    freeSecretBufferPointer(secretBufferPtr);
  }
}