{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://finance.entelekron.org/schemas/tokenization-asset-registry.schema.json",
  "title": "EnteleKRON Tokenization Asset Registry",
  "type": "object",
  "additionalProperties": false,
  "required": ["$schema", "schemaVersion", "controlPlaneId", "registryId", "status", "asOf", "mode", "approvedIssuerEntities", "approvedAssetTypes", "approvedNetworks", "productionEndpoint", "assets", "requiredRegistrationFields", "prohibitedRepresentations", "authority", "notice"],
  "properties": {
    "$schema": { "const": "https://finance.entelekron.org/schemas/tokenization-asset-registry.schema.json" },
    "schemaVersion": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" },
    "controlPlaneId": { "const": "tvk-group:entelekron-financial-infrastructure" },
    "registryId": { "type": "string", "pattern": "^entelekron-tokenization-assets-v[0-9]+$" },
    "status": { "enum": ["no-assets-approved", "controlled-production", "suspended"] },
    "asOf": { "type": "string", "format": "date-time" },
    "mode": { "const": "default-deny" },
    "approvedIssuerEntities": { "type": "array", "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
    "approvedAssetTypes": { "type": "array", "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
    "approvedNetworks": { "type": "array", "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
    "productionEndpoint": { "type": ["string", "null"], "format": "uri" },
    "assets": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["assetId", "legalIssuer", "legalOwnerOrObligor", "assetType", "jurisdictionEntitlement", "holderEligibility", "rightsAndObligationsUrl", "valuationMethodologyUrl", "custodyAndRecordkeepingModel", "transferRestrictions", "servicingModel", "networkId", "canonicalContract", "legalApprovalUrl", "securityReviewUrl", "windDownUrl", "status"],
        "properties": {
          "assetId": { "type": "string", "minLength": 1 },
          "legalIssuer": { "type": "string", "minLength": 1 },
          "legalOwnerOrObligor": { "type": "string", "minLength": 1 },
          "assetType": { "type": "string", "minLength": 1 },
          "jurisdictionEntitlement": { "type": "string", "minLength": 1 },
          "holderEligibility": { "type": "string", "minLength": 1 },
          "rightsAndObligationsUrl": { "type": "string", "format": "uri" },
          "valuationMethodologyUrl": { "type": "string", "format": "uri" },
          "custodyAndRecordkeepingModel": { "type": "string", "minLength": 1 },
          "transferRestrictions": { "type": "array", "items": { "type": "string" } },
          "servicingModel": { "type": "string", "minLength": 1 },
          "networkId": { "type": "string", "minLength": 1 },
          "canonicalContract": { "type": "string", "minLength": 1 },
          "legalApprovalUrl": { "type": "string", "format": "uri" },
          "securityReviewUrl": { "type": "string", "format": "uri" },
          "windDownUrl": { "type": "string", "format": "uri" },
          "status": { "enum": ["approved", "suspended", "redeeming", "retired"] }
        }
      }
    },
    "requiredRegistrationFields": { "type": "array", "minItems": 15, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
    "prohibitedRepresentations": { "type": "array", "minItems": 5, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
    "authority": {
      "type": "object",
      "additionalProperties": false,
      "required": ["aiCanApproveAsset", "aiCanCreateLegalRights", "aiCanDeployProductionContract", "singleOperatorCanRegisterAndIssueAsset"],
      "properties": {
        "aiCanApproveAsset": { "const": false },
        "aiCanCreateLegalRights": { "const": false },
        "aiCanDeployProductionContract": { "const": false },
        "singleOperatorCanRegisterAndIssueAsset": { "const": false }
      }
    },
    "notice": { "type": "string", "minLength": 1 }
  }
}
