{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://capp.local/schemas/capp.solana-edge.status.v1.schema.json",
  "title": "capp.solana-edge.status.v1",
  "type": "object",
  "required": [
    "protocol",
    "sidecarId",
    "phase",
    "provider",
    "mode",
    "network",
    "components",
    "providers",
    "liveFunds",
    "liveCredentials"
  ],
  "properties": {
    "protocol": {
      "const": "capp.solana-edge.status.v1"
    },
    "sidecarId": {
      "const": "uk.capp.sidecar.solana-edge"
    },
    "phase": {
      "enum": [
        "A",
        "A+composition"
      ]
    },
    "provider": {
      "const": "arena-demo-v1"
    },
    "mode": {
      "const": "demo"
    },
    "network": {
      "const": "simulated"
    },
    "components": {
      "type": "array",
      "maxItems": 64,
      "items": {
        "type": "object",
        "required": [
          "componentId",
          "applicationKey",
          "selected"
        ],
        "properties": {
          "componentId": {
            "type": "string"
          },
          "applicationKey": {
            "type": "string"
          },
          "selected": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    },
    "providers": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "liveFunds": {
      "const": false
    },
    "liveCredentials": {
      "const": false
    },
    "sandboxDevnet": {
      "type": "string"
    },
    "instruction": {
      "type": "string"
    },
    "composition": {
      "type": "object"
    },
    "configured": {
      "type": "boolean"
    },
    "readiness": {
      "type": "string"
    },
    "connectionVerified": {
      "type": "boolean"
    },
    "persistence": {
      "type": "string"
    },
    "storageScope": {
      "type": "string"
    },
    "concurrency": {
      "type": "string"
    },
    "storageError": {
      "type": [
        "object",
        "null"
      ]
    },
    "error": {
      "type": "object"
    },
    "ready": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
