{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schemaVersion",
    "recordType",
    "candidateId",
    "sourceCommit",
    "gitTree",
    "scopeSha256",
    "chain",
    "methodologyId",
    "commitmentDomain",
    "seedCommitmentSha256",
    "committedAtUtc",
    "evaluationContextSha256",
    "runnerSha256",
    "corpusCommitmentSha256",
    "beaconAuthorityId",
    "beaconRound",
    "beaconValueSha256",
    "beaconIssuedAtUtc",
    "beaconReceiptPath",
    "beaconReceiptSha256"
  ],
  "properties": {
    "schemaVersion": {
      "const": "1.0.0"
    },
    "recordType": {
      "const": "privacy-unlinkability-seed-commitment"
    },
    "candidateId": {
      "type": "string",
      "pattern": "^sha256:[0-9a-f]{64}$"
    },
    "sourceCommit": {
      "type": "string",
      "pattern": "^[0-9a-f]{40}$"
    },
    "gitTree": {
      "type": "string",
      "pattern": "^[0-9a-f]{40}$"
    },
    "scopeSha256": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "chain": {
      "const": "base"
    },
    "methodologyId": {
      "const": "vaultfire-chain-specific-unlinkability-v1"
    },
        "commitmentDomain": {
            "const": "vaultfire-unlinkability-seed-v3"
        },
    "seedCommitmentSha256": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "committedAtUtc": {
      "type": "string",
      "format": "date-time"
    },
    "evaluationContextSha256": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "runnerSha256": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "corpusCommitmentSha256": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "beaconValueSha256": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "beaconReceiptSha256": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "beaconAuthorityId": {
      "type": "string",
      "pattern": "^randomness-authority:[0-9a-f]{64}$"
    },
    "beaconRound": {
      "type": "integer",
      "minimum": 1
    },
    "beaconIssuedAtUtc": {
      "type": "string",
      "format": "date-time"
    },
    "beaconReceiptPath": {
      "type": "string",
      "pattern": "^pr10/partner-package/evidence/organizational/privacy-inputs/[a-z0-9-]+\\.json$"
    }
  }
}
