{
  "$ref": "#/definitions/UnsignedTezosSaplingTransaction",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "UnsignedTezosSaplingTransaction": {
      "additionalProperties": false,
      "properties": {
        "callbackURL": {
          "type": "string"
        },
        "publicKey": {
          "type": "string"
        },
        "transaction": {
          "additionalProperties": false,
          "properties": {
            "callParameters": {
              "type": "string"
            },
            "chainId": {
              "type": "string"
            },
            "ins": {
              "items": {
                "additionalProperties": false,
                "properties": {
                  "address": {
                    "type": "string"
                  },
                  "pos": {
                    "type": "string"
                  },
                  "rcm": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "rcm",
                  "pos",
                  "value",
                  "address"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "outs": {
              "items": {
                "additionalProperties": false,
                "properties": {
                  "address": {
                    "type": "string"
                  },
                  "memo": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "address",
                  "value",
                  "memo"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "stateDiff": {
              "additionalProperties": false,
              "properties": {
                "commitments_and_ciphertexts": {
                  "items": {
                    "items": [
                      {
                        "type": "string"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "cv": {
                            "type": "string"
                          },
                          "epk": {
                            "type": "string"
                          },
                          "nonce_enc": {
                            "type": "string"
                          },
                          "nonce_out": {
                            "type": "string"
                          },
                          "payload_enc": {
                            "type": "string"
                          },
                          "payload_out": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "cv",
                          "epk",
                          "payload_enc",
                          "nonce_enc",
                          "payload_out",
                          "nonce_out"
                        ],
                        "type": "object"
                      }
                    ],
                    "maxItems": 2,
                    "minItems": 2,
                    "type": "array"
                  },
                  "type": "array"
                },
                "nullifiers": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "root": {
                  "type": "string"
                }
              },
              "required": [
                "root",
                "commitments_and_ciphertexts",
                "nullifiers"
              ],
              "type": "object"
            }
          },
          "required": [
            "ins",
            "outs",
            "chainId",
            "stateDiff",
            "callParameters"
          ],
          "type": "object"
        }
      },
      "required": [
        "publicKey",
        "transaction"
      ],
      "type": "object"
    }
  }
}
