{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://burn.roko.network/manifests/schema.json",
  "title": "ROKO Burn deployment manifest",
  "type": "object",
  "required": ["schemaVersion", "chainId", "generatedAt", "nativeBurn", "assets"],
  "properties": {
    "schemaVersion": {"const": 1},
    "chainId": {"const": 52370},
    "generatedAt": {"type": "string", "format": "date-time"},
    "nativeBurn": {
      "type": "object",
      "required": ["enabled", "address", "deploymentBlock", "abiSha256"],
      "properties": {
        "enabled": {"type": "boolean"},
        "address": {"type": ["string", "null"], "pattern": "^0x[0-9a-fA-F]{40}$"},
        "deploymentBlock": {"type": ["integer", "null"], "minimum": 0},
        "abiSha256": {"type": ["string", "null"], "pattern": "^[0-9a-f]{64}$"}
      }
    },
    "assets": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["id", "name", "symbol", "address", "decimals", "mechanism", "enabled", "verifiedSource", "burnFunction"],
        "properties": {
          "actionUrl": {"type": "string", "format": "uri", "pattern": "^https://[^/]+\\.roko\\.network/"}
        }
      }
    }
  }
}
