{
  "$ref": "#/definitions/leash-block-v1",
  "definitions": {
    "leash-block-v1": {
      "type": "object",
      "properties": {
        "v": {
          "type": "string",
          "const": "0.1"
        },
        "rulesUri": {
          "anyOf": [
            {
              "type": "string",
              "format": "uri"
            },
            {
              "type": "string",
              "pattern": "^ipfs:\\/\\/.+"
            }
          ]
        },
        "receiptsFeed": {
          "type": "string"
        },
        "anchor": {
          "type": "object",
          "properties": {
            "program": {
              "type": "string"
            },
            "merkleAccount": {
              "type": "string"
            }
          },
          "required": [
            "program",
            "merkleAccount"
          ],
          "additionalProperties": false
        },
        "killSwitch": {
          "type": "object",
          "properties": {
            "onchain": {
              "type": "string"
            },
            "endpoint": {
              "type": "string",
              "format": "uri"
            }
          },
          "additionalProperties": false
        }
      },
      "required": [
        "v",
        "rulesUri",
        "receiptsFeed"
      ],
      "additionalProperties": false
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}