{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://capp.local/schemas/capp.solana-authority-request.v1.schema.json",
  "title": "capp.solana-authority-request.v1",
  "type": "object",
  "required": [
    "protocol",
    "requestId",
    "groupId",
    "operationId",
    "messageDigest",
    "approvals",
    "threshold",
    "quorumReached",
    "signs"
  ],
  "properties": {
    "protocol": {
      "const": "capp.solana-authority-request.v1"
    },
    "requestId": {
      "type": "string"
    },
    "groupId": {
      "type": "string"
    },
    "operationId": {
      "type": "string"
    },
    "attemptId": {
      "type": "string"
    },
    "messageDigest": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "policyDigest": {
      "type": "string"
    },
    "walletPubkey": {
      "type": "string"
    },
    "exactMessageBytesPresent": {
      "type": "boolean"
    },
    "approvals": {
      "type": "array",
      "maxItems": 32,
      "items": {
        "type": "object"
      }
    },
    "threshold": {
      "type": "integer",
      "minimum": 1,
      "maximum": 32
    },
    "memberCount": {
      "type": "integer",
      "minimum": 1,
      "maximum": 32
    },
    "quorumReached": {
      "type": "boolean"
    },
    "signs": {
      "type": "boolean"
    },
    "transactionSignature": {
      "type": [
        "string",
        "null"
      ]
    },
    "createdAt": {
      "type": "number"
    },
    "updatedAt": {
      "type": "number"
    },
    "groupDigest": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "bindingDigest": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "network": {
      "type": "string"
    },
    "memberIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "authenticatedMembers": {
      "type": "boolean"
    },
    "simulated": {
      "type": "boolean"
    },
    "authorises": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
