{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "SrGame",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "type": "integer",
      "description": "Internal TzKT id.  \n**[sortable]**",
      "format": "int64"
    },
    "rollup": {
      "description": "Smart rollup, in which's scope the refutation game was started.",
      "oneOf": [
        {
          "$ref": "#/components/schemas/Alias"
        }
      ]
    },
    "initiator": {
      "description": "Initiator, who found a wrong commitment and started the refutation game.",
      "oneOf": [
        {
          "$ref": "#/components/schemas/Alias"
        }
      ]
    },
    "initiatorCommitment": {
      "description": "Initiator's version of a valid commitment",
      "oneOf": [
        {
          "$ref": "#/components/schemas/SrCommitmentInfo"
        }
      ]
    },
    "opponent": {
      "description": "Opponent, who was accused in publishing a wrong commitment.",
      "oneOf": [
        {
          "$ref": "#/components/schemas/Alias"
        }
      ]
    },
    "opponentCommitment": {
      "description": "Opponent's version of a valid commitment",
      "oneOf": [
        {
          "$ref": "#/components/schemas/SrCommitmentInfo"
        }
      ]
    },
    "lastMove": {
      "description": "The most recent move (`sr_refute` operation).",
      "oneOf": [
        {
          "$ref": "#/components/schemas/SrGameMove"
        }
      ]
    },
    "firstLevel": {
      "type": "integer",
      "description": "Level of the block where the refutation game was started.  \n**[sortable]**",
      "format": "int32"
    },
    "firstTime": {
      "type": "string",
      "description": "Timestamp of the block where the refutation game was started.",
      "format": "date-time"
    },
    "lastLevel": {
      "type": "integer",
      "description": "Level of the block where the refutation game was last updated.  \n**[sortable]**",
      "format": "int32"
    },
    "lastTime": {
      "type": "string",
      "description": "Timestamp of the block where the refutation game was last updated.",
      "format": "date-time"
    },
    "initiatorReward": {
      "type": "integer",
      "description": "In case the initiator won, this field will contain the reward amount (in mutez).",
      "format": "int64",
      "nullable": true
    },
    "initiatorLoss": {
      "type": "integer",
      "description": "In case the initiator lost (including a `draw`), this field will contain the loss amount (in mutez).",
      "format": "int64",
      "nullable": true
    },
    "opponentReward": {
      "type": "integer",
      "description": "In case the opponent won, this field will contain the reward amount (in mutez).",
      "format": "int64",
      "nullable": true
    },
    "opponentLoss": {
      "type": "integer",
      "description": "In case the opponent lost (including a `draw`), this field will contain the loss amount (in mutez).",
      "format": "int64",
      "nullable": true
    }
  }
}