{
    "type": "object",
    "properties": {
        "version": {
            "type": "number"
        },
        "orderType": {
            "enum": [
                "buy",
                "sell"
            ],
            "type": "string"
        },
        "assetPair": {
            "type": "object",
            "properties": {
                "amountAsset": {
                    "type": [
                        "null",
                        "string"
                    ]
                },
                "priceAsset": {
                    "type": [
                        "null",
                        "string"
                    ]
                }
            },
            "required": [
                "amountAsset",
                "priceAsset"
            ]
        },
        "price": {
            "$ref": "https://raw.githubusercontent.com/acrylplatform/acryl-transactions/master/src/schemas/IOrder.json#/definitions/LONG"
        },
        "amount": {
            "$ref": "https://raw.githubusercontent.com/acrylplatform/acryl-transactions/master/src/schemas/IOrder.json#/definitions/LONG"
        },
        "timestamp": {
            "type": "number"
        },
        "expiration": {
            "type": "number"
        },
        "matcherFee": {
            "type": "number"
        },
        "matcherPublicKey": {
            "type": "string"
        },
        "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": [
        "amount",
        "assetPair",
        "expiration",
        "matcherFee",
        "matcherPublicKey",
        "orderType",
        "price",
        "proofs",
        "senderPublicKey",
        "timestamp"
    ],
    "definitions": {
        "LONG": {
            "type": [
                "number"
            ]
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "https://raw.githubusercontent.com/acrylplatform/acryl-transactions/master/src/schemas/IOrder.json"
}
