diff options
Diffstat (limited to 'JSONSchema/definitions.json')
-rw-r--r-- | JSONSchema/definitions.json | 320 |
1 files changed, 320 insertions, 0 deletions
diff --git a/JSONSchema/definitions.json b/JSONSchema/definitions.json new file mode 100644 index 000000000..45088f2bb --- /dev/null +++ b/JSONSchema/definitions.json @@ -0,0 +1,320 @@ +{ + "definitions": { + "AddressMaybePrefixOrEmpty": { + "oneOf": [ + { + "$ref": "#/definitions/HexLen40" + }, + { + "$ref": "#/definitions/HexNoPrefixLen40" + }, + { + "$ref": "#/definitions/EmptyString" + } + ] + }, + "ConfusedHexType": { + "anyOf": [ + { + "$ref": "#/definitions/HexData" + }, + { + "$ref": "#/definitions/HexQuantity" + } + ] + }, + "EmptyString": { + "pattern": "^$", + "type": "string" + }, + "ExpectCondition": { + "additionalProperties": false, + "properties": { + "//comment": { + "type": "string" + }, + "indexes": { + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/definitions/Indices" + }, + "gas": { + "$ref": "#/definitions/Indices" + }, + "value": { + "$ref": "#/definitions/Indices" + } + }, + "result": { + "$ref": "#/definitions/PostStateAccounts" + } + }, + "network": { + "$ref": "#/definitions/Networks" + }, + "result": { + "$ref": "#/definitions/AccountMap" + } + }, + "type": "object" + }, + "HexData": { + "description": "Hex data. see https://github.com/ethereum/wiki/wiki/JSON-RPC#hex-value-encoding", + "pattern": "^0x([0-9a-fA-F][0-9a-fA-F])*$", + "type": "string" + }, + "HexDataOrEmpty": { + "oneOf": [ + { + "$ref": "#/definitions/HexData" + }, + { + "$ref": "#/definitions/EmptyString" + } + ] + }, + "HexLen40": { + "pattern": "^0x[0-9a-fA-F]{40}$", + "type": "string" + }, + "HexMaybePrefix": { + "oneOf": [ + { + "$ref": "#/definitions/HexNoPrefix" + }, + { + "$ref": "#/definitions/HexData" + } + ] + }, + "HexMaybePrefixOrEmpty": { + "oneOf": [ + { + "$ref": "#/definitions/HexMaybePrefix" + }, + { + "$ref": "#/definitions/EmptyString" + } + ] + }, + "HexNoPrefix": { + "pattern": "^([0-9a-fA-F][0-9a-fA-F])+$", + "type": "string" + }, + "HexNoPrefixLen40": { + "pattern": "^[0-9a-fA-F]{40}$", + "type": "string" + }, + "HexQuantity": { + "description": "Hex quantity. see https://github.com/ethereum/wiki/wiki/JSON-RPC#hex-value-encoding", + "pattern": "(^0x0$)|(^0x[1-9a-fA-F][0-9a-fA-F]*$)", + "type": "string" + }, + "Info": { + "description": "Information block for filled tests.", + "properties": { + "comment": { + "type": "string" + }, + "filledwith": { + "type": "string" + }, + "lllcversion": { + "type": "string" + }, + "source": { + "type": "string" + }, + "sourceHash": { + "type": "string" + } + }, + "required": [ + "source", + "sourceHash" + ] + }, + "Indices": { + "anyOf": [ + { + "type": "array" + }, + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "IntegerOrConfusedHex": { + "anyOf": [ + { + "$ref": "#/definitions/IntegerString" + }, + { + "$ref": "#/definitions/ConfusedHexType" + } + ] + }, + "IntegerOrEmpty": { + "oneOf": [ + { + "$ref": "#/definitions/IntegerString" + }, + { + "$ref": "#/definitions/EmptyString" + } + ] + }, + "IntegerOrEmptyOrConfusedHex": { + "oneOf": [ + { + "$ref": "#/definitions/IntegerOrEmpty" + }, + { + "$ref": "#/definitions/ConfusedHexType" + } + ] + }, + "IntegerOrEmptyOrHexQuantity": { + "oneOf": [ + { + "$ref": "#/definitions/IntegerOrEmpty" + }, + { + "$ref": "#/definitions/HexQuantity" + } + ] + }, + "IntegerOrHexQuantity": { + "oneOf": [ + { + "$ref": "#/definitions/IntegerString" + }, + { + "$ref": "#/definitions/HexQuantity" + } + ] + }, + "IntegerOrNumber": { + "oneOf": [ + { + "$ref": "#/definitions/IntegerString" + }, + { + "type": "number" + } + ] + }, + "IntegerOrNumberOrConfusedHex": { + "oneOf": [ + { + "$ref": "#/definitions/IntegerOrNumber" + }, + { + "$ref": "#/definitions/ConfusedHexType" + } + ] + }, + "IntegerString": { + "pattern": "^[0-9]+$", + "type": "string" + }, + "LLLCode": { + "pattern": "^.*$", + "type": "string" + }, + "Networks": { + "type": "array" + }, + "NonExistentPostStateAccount": { + "additionalproperties": true, + "properties": { + "shouldnotexist": { + "type": "boolean" + } + }, + "required": [ + "shouldnotexist" + ], + "type": "object" + }, + "PostStateAccounts": { + "additionalProperties": false, + "patternProperties": { + "^0x[0-9a-fA-F]{40}": { + "description": "filler prestate addresses with 0x prefix", + "oneOf": [ + { + "$ref": "#/definitions/PreStateAccount" + }, + { + "$ref": "#/definitions/NonExistentPostStateAccount" + } + ] + }, + "^[0-9a-fA-F]{40}": { + "description": "filler prestate addresses without 0x prefix", + "oneOf": [ + { + "$ref": "#/definitions/PreStateAccount" + }, + { + "$ref": "#/definitions/NonExistentPostStateAccount" + } + ] + } + }, + "type": "object" + }, + "PrefixedHexOrInteger": { + "anyOf": [ + { + "$ref": "#/definitions/IntegerString" + }, + { + "$ref": "#/definitions/HexData" + } + ] + }, + "TransactionResults": { + "items": { + "additionalProperties": false, + "properties": { + "hash": { + "$ref": "#/definitions/HexData" + }, + "indexes": { + "additionalProperties": false, + "properties": { + "data": { + "type": "integer" + }, + "gas": { + "type": "integer" + }, + "value": { + "type": "integer" + } + }, + "required": [ + "data", + "gas", + "value" + ], + "type": "object" + }, + "logs": {} + }, + "required": [ + "hash", + "indexes" + ], + "type": "object" + }, + "type": "array" + } + } +} |