{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://xcim.invalid/ietf/as01/schemas/control-head.schema.json",
  "title": "AS01-F01 control-head",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "proposal_version",
    "object_type",
    "issuer_id",
    "log_id",
    "genesis_commitment",
    "head_sequence",
    "previous_head_commitment",
    "manifest_epoch",
    "manifest_commitment",
    "checkpoint_sequence",
    "checkpoint_commitment",
    "checkpoint_key_thumbprint",
    "this_update",
    "next_update"
  ],
  "properties": {
    "proposal_version": {
      "const": "as-01"
    },
    "object_type": {
      "const": "control_head"
    },
    "issuer_id": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/id"
    },
    "log_id": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/id"
    },
    "genesis_commitment": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/hash"
    },
    "head_sequence": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/positive"
    },
    "previous_head_commitment": {
      "oneOf": [
        {
          "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/hash"
        },
        {
          "type": "null"
        }
      ]
    },
    "manifest_epoch": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/positive"
    },
    "manifest_commitment": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/hash"
    },
    "checkpoint_sequence": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/positive"
    },
    "checkpoint_commitment": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/hash"
    },
    "checkpoint_key_thumbprint": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/hash"
    },
    "this_update": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/nonnegative"
    },
    "next_update": {
      "$ref": "https://xcim.invalid/ietf/as01/schemas/common.schema.json#/$defs/positive"
    }
  }
}
