askarKeyAeadRandomNonce function

AskarResult<Uint8List> askarKeyAeadRandomNonce(
  1. LocalKeyHandle handle
)

Implementation

AskarResult<Uint8List> askarKeyAeadRandomNonce(LocalKeyHandle handle) {
  Pointer<NativeSecretBuffer> secretBufferPtr = calloc<NativeSecretBuffer>();

  try {
    final funcResult = nativeAskarKeyAeadRandomNonce(handle.toInt(), secretBufferPtr);

    final errorCode = ErrorCode.fromInt(funcResult);

    final value =
        (errorCode == ErrorCode.success)
            ? secretBufferToBytesList(secretBufferPtr.ref)
            : Uint8List(0);

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