verifyWebhook method

bool verifyWebhook({
  1. required Uint8List signerPublicKey,
  2. required String eventType,
  3. required int timestampMs,
  4. required Uint8List payload,
  5. required Uint8List signature,
  6. PqSignatureAlgorithm? algorithm,
  7. int? nowMs,
  8. int maxSkewMs = 300000,
})

Implementation

bool verifyWebhook({
  required Uint8List signerPublicKey,
  required String eventType,
  required int timestampMs,
  required Uint8List payload,
  required Uint8List signature,
  PqSignatureAlgorithm? algorithm,
  int? nowMs,
  int maxSkewMs = 300000,
}) {
  if (nowMs != null && (nowMs - timestampMs).abs() > maxSkewMs) {
    return false;
  }
  return verify(
    signerPublicKey,
    PqRecipeMessages.webhook(
      eventType: eventType,
      timestampMs: timestampMs,
      payload: payload,
    ),
    signature,
    algorithm: algorithm,
    context: PqBytes.utf8Bytes('pqforge/webhook/v1'),
    preHash: true,
  );
}