[
  {
    "name": "certificate ID is missing",
    "target": "certificate",
    "operation": "delete",
    "path": "/claims/id",
    "expectedIssuePath": "/claims/id"
  },
  {
    "name": "certificate schema version is unknown",
    "target": "certificate",
    "operation": "replace",
    "path": "/claims/schemaVersion",
    "value": "2.0",
    "expectedIssuePath": "/claims/schemaVersion"
  },
  {
    "name": "certificate contains a token field",
    "target": "certificate",
    "operation": "add",
    "path": "/claims/tokenId",
    "value": "not-supported",
    "expectedIssuePath": "/claims/tokenId"
  },
  {
    "name": "certificate contains a private collector label",
    "target": "certificate",
    "operation": "add",
    "path": "/claims/collector/privateLabel",
    "value": "Local filing label",
    "expectedIssuePath": "/claims/collector/privateLabel"
  },
  {
    "name": "public collector display name is too long",
    "target": "certificate",
    "operation": "replace",
    "path": "/claims/collector/displayName",
    "value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "expectedIssuePath": "/claims/collector/displayName"
  },
  {
    "name": "public collector display name is not normalized",
    "target": "certificate",
    "operation": "replace",
    "path": "/claims/collector/displayName",
    "value": " Example Collector ",
    "expectedIssuePath": "/claims/collector/displayName"
  },
  {
    "name": "certificate replaces the claims notice",
    "target": "certificate",
    "operation": "replace",
    "path": "/claims/notice",
    "value": "Proof of legal ownership and financial value.",
    "expectedIssuePath": "/claims/notice"
  },
  {
    "name": "certificate sequence exceeds the portable integer range",
    "target": "certificate",
    "operation": "replace",
    "path": "/claims/sequence",
    "value": 9007199254740992,
    "expectedIssuePath": "/claims/sequence"
  },
  {
    "name": "certificate digest is incomplete",
    "target": "certificate",
    "operation": "replace",
    "path": "/integrity/digest",
    "value": "short",
    "expectedIssuePath": "/integrity/digest"
  },
  {
    "name": "issuer ID is missing",
    "target": "issuer",
    "operation": "delete",
    "path": "/id",
    "expectedIssuePath": "/id"
  },
  {
    "name": "issuer contains an extra field",
    "target": "issuer",
    "operation": "add",
    "path": "/tokenId",
    "value": "not-supported",
    "expectedIssuePath": "/tokenId"
  },
  {
    "name": "issuer website is malformed",
    "target": "issuer",
    "operation": "replace",
    "path": "/website",
    "value": "not a URL",
    "expectedIssuePath": "/website"
  },
  {
    "name": "issuer schema version is unknown",
    "target": "issuer",
    "operation": "replace",
    "path": "/schemaVersion",
    "value": "2.0",
    "expectedIssuePath": "/schemaVersion"
  },
  {
    "name": "issuer public key contains private material",
    "target": "issuer",
    "operation": "add",
    "path": "/keys/0/publicKey/d",
    "value": "private-material-does-not-belong-here",
    "expectedIssuePath": "/keys/0/publicKey/d"
  },
  {
    "name": "issuer public key has a signing operation",
    "target": "issuer",
    "operation": "replace",
    "path": "/keys/0/publicKey/key_ops",
    "value": [
      "sign"
    ],
    "expectedIssuePath": "/keys/0/publicKey/key_ops"
  },
  {
    "name": "registry event has no signature",
    "target": "registry",
    "operation": "delete",
    "path": "/0/signature",
    "expectedIssuePath": "/0/signature"
  },
  {
    "name": "registry event contains an extra field",
    "target": "registry",
    "operation": "add",
    "path": "/0/tokenId",
    "value": "not-supported",
    "expectedIssuePath": "/0/tokenId"
  },
  {
    "name": "registry event date is malformed",
    "target": "registry",
    "operation": "replace",
    "path": "/0/occurredAt",
    "value": "sometime",
    "expectedIssuePath": "/0/occurredAt"
  },
  {
    "name": "registry event schema version is unknown",
    "target": "registry",
    "operation": "replace",
    "path": "/0/schemaVersion",
    "value": "2.0",
    "expectedIssuePath": "/0/schemaVersion"
  },
  {
    "name": "registry sequence exceeds the portable integer range",
    "target": "registry",
    "operation": "replace",
    "path": "/0/sequence",
    "value": 9007199254740992,
    "expectedIssuePath": "/0/sequence"
  },
  {
    "name": "checkpoint ID is missing",
    "target": "checkpoint",
    "operation": "delete",
    "path": "/id",
    "expectedIssuePath": "/id"
  },
  {
    "name": "checkpoint contains an extra field",
    "target": "checkpoint",
    "operation": "add",
    "path": "/tokenId",
    "value": "not-supported",
    "expectedIssuePath": "/tokenId"
  },
  {
    "name": "checkpoint digest is malformed",
    "target": "checkpoint",
    "operation": "replace",
    "path": "/headEventDigest",
    "value": "short",
    "expectedIssuePath": "/headEventDigest"
  },
  {
    "name": "checkpoint schema version is unknown",
    "target": "checkpoint",
    "operation": "replace",
    "path": "/schemaVersion",
    "value": "2.0",
    "expectedIssuePath": "/schemaVersion"
  },
  {
    "name": "checkpoint length exceeds the portable integer range",
    "target": "checkpoint",
    "operation": "replace",
    "path": "/registryLength",
    "value": 9007199254740992,
    "expectedIssuePath": "/registryLength"
  },
  {
    "name": "archive creation date is missing",
    "target": "archive",
    "operation": "delete",
    "path": "/createdAt",
    "expectedIssuePath": "/createdAt"
  },
  {
    "name": "archive contains an extra field",
    "target": "archive",
    "operation": "add",
    "path": "/wallet",
    "value": "not-supported",
    "expectedIssuePath": "/wallet"
  },
  {
    "name": "archive digest is malformed",
    "target": "archive",
    "operation": "replace",
    "path": "/integrity/digest",
    "value": "short",
    "expectedIssuePath": "/integrity/digest"
  },
  {
    "name": "archive schema version is unknown",
    "target": "archive",
    "operation": "replace",
    "path": "/schemaVersion",
    "value": "2.0",
    "expectedIssuePath": "/schemaVersion"
  }
]
