{
    "type": "object",
    "properties": {
        "type": {
            "$ref": "https://raw.githubusercontent.com/acrylplatform/acryl-transactions/master/src/schemas/IDataTransaction.json#/definitions/TRANSACTION_TYPE.DATA"
        },
        "data": {
            "type": "array",
            "items": {
                "$ref": "https://raw.githubusercontent.com/acrylplatform/acryl-transactions/master/src/schemas/IDataTransaction.json#/definitions/IDataEntry"
            }
        },
        "timestamp": {
            "type": "number"
        },
        "fee": {
            "$ref": "https://raw.githubusercontent.com/acrylplatform/acryl-transactions/master/src/schemas/IDataTransaction.json#/definitions/LONG"
        },
        "version": {
            "type": "number"
        },
        "proofs": {
            "description": "ITransaction signatures",
            "minItems": 0,
            "maxItems": 8,
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "senderPublicKey": {
            "description": "Account public key. This account will pay fee and this account's script will be executed if exists",
            "type": "string"
        }
    },
    "required": [
        "data",
        "fee",
        "proofs",
        "senderPublicKey",
        "timestamp",
        "type",
        "version"
    ],
    "definitions": {
        "TRANSACTION_TYPE.DATA": {
            "type": "number",
            "enum": [
                12
            ]
        },
        "IDataEntry": {
            "type": "object",
            "properties": {
                "key": {
                    "type": "string"
                },
                "type": {
                    "$ref": "https://raw.githubusercontent.com/acrylplatform/acryl-transactions/master/src/schemas/IDataTransaction.json#/definitions/DATA_FIELD_TYPE"
                },
                "value": {
                    "type": [
                        "string",
                        "number",
                        "boolean"
                    ]
                }
            },
            "required": [
                "key",
                "type",
                "value"
            ]
        },
        "DATA_FIELD_TYPE": {
            "enum": [
                "binary",
                "boolean",
                "integer",
                "string"
            ],
            "type": "string"
        },
        "LONG": {
            "type": [
                "number"
            ]
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "https://raw.githubusercontent.com/acrylplatform/acryl-transactions/master/src/schemas/IDataTransaction.json"
}
