{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://capp.local/schemas/capp.solana-component.status.v1.schema.json",
  "title": "capp.solana-component.status.v1",
  "type": "object",
  "required": [
    "protocol",
    "sidecarId",
    "component"
  ],
  "properties": {
    "protocol": {
      "const": "capp.solana-component.status.v1"
    },
    "sidecarId": {
      "type": "string",
      "pattern": "^uk\\.capp\\.sidecar\\.solana-"
    },
    "component": {
      "enum": [
        "compass",
        "circuit",
        "switchyard",
        "accord",
        "conduit",
        "sentinel",
        "latch",
        "dispatch",
        "witness",
        "arena"
      ]
    },
    "providerMode": {
      "type": [
        "string",
        "null"
      ]
    },
    "network": {
      "type": [
        "string",
        "null"
      ]
    },
    "ready": {
      "type": "boolean"
    },
    "selected": {
      "type": "boolean"
    },
    "credentialsIncluded": {
      "type": "boolean"
    },
    "publicClientConfig": {
      "type": "boolean"
    },
    "secretCredentialSupported": {
      "type": "boolean"
    },
    "writeMethodsEnabled": {
      "type": "boolean"
    },
    "mainnetWritesEnabled": {
      "type": "boolean"
    },
    "maxRequestsPerSecond": {
      "type": [
        "integer",
        "number"
      ],
      "minimum": 0
    },
    "rpcConfigured": {
      "type": "boolean"
    },
    "websocketConfigured": {
      "type": "boolean"
    },
    "externalAdapterConfigured": {
      "type": "boolean"
    },
    "authorises": {
      "type": "boolean"
    },
    "maxLamports": {
      "type": [
        "integer",
        "number"
      ],
      "minimum": 0
    },
    "maxFeeLamports": {
      "type": [
        "integer",
        "number"
      ],
      "minimum": 0
    },
    "requireSimulation": {
      "type": "boolean"
    },
    "allowedPrograms": {
      "type": "array",
      "maxItems": 128,
      "items": {
        "type": "string"
      }
    },
    "privateKeyAccess": {
      "type": "boolean"
    },
    "nativeMwaAvailable": {
      "type": "boolean"
    },
    "sessionReuse": {
      "type": "boolean"
    },
    "sessionTtlSeconds": {
      "type": [
        "integer",
        "number"
      ],
      "minimum": 0
    },
    "liveSubmissionEnabled": {
      "type": "boolean"
    },
    "mainnetEnabled": {
      "type": "boolean"
    },
    "signs": {
      "type": "boolean"
    },
    "commitment": {
      "type": "string"
    },
    "receiptRetention": {
      "type": "boolean"
    },
    "maxReceipts": {
      "type": [
        "integer",
        "number"
      ],
      "minimum": 0
    },
    "simulated": {
      "type": "boolean"
    },
    "networkAccess": {
      "type": "boolean"
    },
    "failureMode": {
      "type": "string"
    },
    "latencyMs": {
      "type": [
        "integer",
        "number"
      ],
      "minimum": 0
    },
    "feeLamports": {
      "type": [
        "integer",
        "number"
      ],
      "minimum": 0
    },
    "finality": {
      "type": "string"
    },
    "applications": {
      "type": "array",
      "maxItems": 64,
      "items": {
        "type": "object",
        "required": [
          "componentId",
          "applicationKey",
          "selected"
        ],
        "properties": {
          "componentId": {
            "type": "string"
          },
          "applicationKey": {
            "type": "string"
          },
          "selected": {
            "type": "boolean"
          },
          "providerMode": {
            "type": [
              "string",
              "null"
            ]
          },
          "network": {
            "type": [
              "string",
              "null"
            ]
          },
          "directRpcConfigured": {
            "type": "boolean"
          },
          "websocketConfigured": {
            "type": "boolean"
          },
          "externalAdapterConfigured": {
            "type": "boolean"
          },
          "maxRequestsPerSecond": {
            "type": [
              "integer",
              "number"
            ]
          },
          "writeMethodsEnabled": {
            "type": "boolean"
          },
          "mainnetWritesEnabled": {
            "type": "boolean"
          },
          "nativeProviderImplemented": {
            "type": "boolean"
          },
          "walletKeyAccess": {
            "type": "boolean"
          },
          "submissionEnabled": {
            "type": "boolean"
          },
          "mainnetEnabled": {
            "type": "boolean"
          },
          "liveFunds": {
            "type": "boolean"
          },
          "networkAccess": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    },
    "durableOperations": {
      "type": "boolean"
    },
    "idempotentReserve": {
      "type": "boolean"
    },
    "pendingLegGuard": {
      "type": "boolean"
    },
    "maxOperations": {
      "type": [
        "integer",
        "number"
      ],
      "minimum": 0
    },
    "offChainAllocationOnly": {
      "type": "boolean"
    },
    "fundsMovement": {
      "type": "boolean"
    },
    "requireUniqueExecutionWallet": {
      "type": "boolean"
    },
    "rawShareStorage": {
      "type": "boolean"
    },
    "localModeSignsTransactions": {
      "type": "boolean"
    },
    "exactMessageBinding": {
      "type": "boolean"
    },
    "selectsWalletOrRail": {
      "type": "boolean"
    },
    "submits": {
      "type": "boolean"
    },
    "maxSlippageBps": {
      "type": [
        "integer",
        "number"
      ],
      "minimum": 0
    },
    "maxIntentAgeSeconds": {
      "type": [
        "integer",
        "number"
      ],
      "minimum": 0
    },
    "riskCapacity": {
      "type": "string"
    },
    "allowRiskReducingCloseBypass": {
      "type": "boolean"
    },
    "durableAttempts": {
      "type": "boolean"
    },
    "compactEvidence": {
      "type": "boolean"
    },
    "positionLifecycle": {
      "type": "boolean"
    },
    "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"
    },
    "localPersistence": {
      "type": "boolean"
    },
    "pendingLocksExpire": {
      "type": "boolean"
    },
    "authenticatedMembers": {
      "type": "boolean"
    },
    "metadataVerified": {
      "type": "boolean"
    },
    "websocketSupported": {
      "type": "boolean"
    },
    "sessionManagement": {
      "type": "string"
    },
    "observationMode": {
      "type": "string"
    },
    "networkObservation": {
      "type": [
        "object",
        "null"
      ]
    },
    "devnetVerificationRequired": {
      "type": "boolean"
    },
    "wallet": {
      "type": "object"
    },
    "clientTokenConfigured": {
      "type": "boolean"
    },
    "endpointOrigin": {
      "type": "string"
    },
    "runtimeSettingsEnabled": {
      "type": "boolean"
    },
    "settingsSource": {
      "enum": [
        "build",
        "device",
        "session"
      ]
    },
    "readConnection": {
      "type": "object"
    },
    "lastRequestError": {
      "type": [
        "object",
        "null"
      ]
    },
    "retryAfterSeconds": {
      "type": "integer",
      "minimum": 0
    },
    "assetAwareIntents": {
      "type": "boolean"
    },
    "assetReads": {
      "type": "boolean"
    },
    "token2022": {
      "type": "boolean"
    },
    "activityPagination": {
      "type": "boolean"
    },
    "backgroundMonitoring": {
      "type": "boolean"
    },
    "independentPaymentVerification": {
      "type": "boolean"
    },
    "fulfilmentAuthority": {
      "type": "boolean"
    },
    "tokenLimits": {
      "type": "string",
      "maxLength": 16384
    },
    "maxAccountRentLamports": {
      "type": "integer",
      "minimum": 0
    },
    "signingPolicyStatus": {
      "type": "boolean"
    },
    "signingPolicy": {
      "$ref": "https://capp.local/schemas/capp.solana-signing-policy.v1.schema.json"
    }
  },
  "additionalProperties": false
}
