diff options
author | Everett Hildenbrandt <hildenb2@illinois.edu> | 2018-05-29 21:34:02 +0800 |
---|---|---|
committer | Everett Hildenbrandt <hildenb2@illinois.edu> | 2018-05-31 22:37:30 +0800 |
commit | 9bdd043874f02d7148319d1591a94094f72f135f (patch) | |
tree | 73aeda037291fd3c71099bc7f7dde5fd6c04f371 /JSONSchema/definitions.json | |
parent | ea227d5d888542ebd7c6e7d504a1ddf1a534761a (diff) | |
download | tangerine-tests-9bdd043874f02d7148319d1591a94094f72f135f.tar tangerine-tests-9bdd043874f02d7148319d1591a94094f72f135f.tar.gz tangerine-tests-9bdd043874f02d7148319d1591a94094f72f135f.tar.bz2 tangerine-tests-9bdd043874f02d7148319d1591a94094f72f135f.tar.lz tangerine-tests-9bdd043874f02d7148319d1591a94094f72f135f.tar.xz tangerine-tests-9bdd043874f02d7148319d1591a94094f72f135f.tar.zst tangerine-tests-9bdd043874f02d7148319d1591a94094f72f135f.zip |
test.py, JSONSchema/*: factor out common schema definitions
Diffstat (limited to 'JSONSchema/definitions.json')
-rw-r--r-- | JSONSchema/definitions.json | 200 |
1 files changed, 200 insertions, 0 deletions
diff --git a/JSONSchema/definitions.json b/JSONSchema/definitions.json new file mode 100644 index 000000000..9c9ca3d44 --- /dev/null +++ b/JSONSchema/definitions.json @@ -0,0 +1,200 @@ +{ + "definitions": { + "AddressMaybePrefixOrEmpty": { + "oneOf": [ + { + "$ref": "#/definitions/HexLen40" + }, + { + "$ref": "#/definitions/HexNoPrefixLen40" + }, + { + "$ref": "#/definitions/EmptyString" + } + ] + }, + "ConfusedHexType": { + "anyOf": [ + { + "$ref": "#/definitions/HexData" + }, + { + "$ref": "#/definitions/HexQuantity" + } + ] + }, + "EmptyString": { + "pattern": "^$", + "type": "string" + }, + "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" + }, + "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" + } + ] + }, + "TransactionResults": { + "items": { + "additionalProperties": false, + "properties": { + "hash": { + "$ref": "#/definitions/HexData" + }, + "logs": {}, + "indexes": { + "additionalProperties": false, + "properties": { + "data": { + "type": "integer" + }, + "gas": { + "type": "integer" + }, + "value": { + "type": "integer" + } + }, + "required": [ + "data", + "gas", + "value" + ], + "type": "object" + } + }, + "required": [ + "hash", + "indexes" + ], + "type": "object" + }, + "type": "array" + }, + "PrefixedHexOrInteger": { + "anyOf": [ + { "$ref": "#/definitions/IntegerString" }, + { "$ref": "#/definitions/HexData" } + ] + }, + "IntegerOrNumber": { + "oneOf": [ + { + "$ref": "#/definitions/IntegerString" + }, + { + "type": "number" + } + ] + }, + "IntegerOrNumberOrConfusedHex": { + "oneOf": [ + { + "$ref": "#/definitions/IntegerOrNumber" + }, + { + "$ref": "#/definitions/ConfusedHexType" + } + ] + }, + "IntegerString": { + "pattern": "^[0-9]+$", + "type": "string" + } + } +} |