{
  "$id": "https://spacemesh.io/checkpoint.schema.json.1.0",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "checkpoint data for recovery",
  "properties": {
    "command": {
      "description": "command to execute",
      "type": "string"
    },
    "data": {
      "properties": {
        "atxs": {
          "accounts": {
            "description": "accounts snapshot",
            "items": {
              "properties": {
                "address": {
                  "type": "string"
                },
                "balance": {
                  "type": "integer"
                },
                "nonce": {
                  "type": "integer"
                },
                "state": {
                  "type": "string"
                },
                "template": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array",
            "uniqueItems": true
          },
          "description": "the set of golden ATXs",
          "items": {
            "properties": {
              "baseTickHeight": {
                "type": "integer"
              },
              "coinbase": {
                "type": "string"
              },
              "commitmentAtx": {
                "type": "string"
              },
              "epoch": {
                "type": "integer"
              },
              "id": {
                "description": "atx id",
                "type": "string"
              },
              "numUnits": {
                "type": "integer"
              },
              "publicKey": {
                "type": "string"
              },
              "sequence": {
                "type": "integer"
              },
              "tickCount": {
                "type": "integer"
              },
              "vrfNonce": {
                "type": "integer"
              }
            },
            "type": "object"
          },
          "type": "array",
          "uniqueItems": true
        },
        "id": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "atxs",
        "accounts"
      ],
      "type": "object"
    },
    "version": {
      "description": "version of the checkpoint file. same as schema's $id",
      "type": "string"
    }
  },
  "required": [
    "command",
    "version",
    "data"
  ],
  "title": "checkpoint data",
  "type": "object"
}