diff options
Diffstat (limited to 'JSONSchema/vm-schema.json')
-rw-r--r-- | JSONSchema/vm-schema.json | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/JSONSchema/vm-schema.json b/JSONSchema/vm-schema.json new file mode 100644 index 000000000..7a81d64c0 --- /dev/null +++ b/JSONSchema/vm-schema.json @@ -0,0 +1,138 @@ +{ + "definitions": { + "PreStateAccount": { + "additionalproperties": true, + "properties": { + "balance": { + "$ref": "#/definitions/ConfusedHexType" + }, + "code": { + "$ref": "#/definitions/HexMaybePrefixOrEmpty" + }, + "nonce": { + "$ref": "#/definitions/ConfusedHexType" + }, + "storage": { + "additionalProperties": false, + "patternProperties": { + "^0x[0-9a-f]+": { + "$ref": "#/definitions/HexData", + "description": "storage key with 0x. data is HexData" + } + }, + "type": "object" + } + }, + "required": [ + "balance", + "code", + "nonce" + ], + "type": "object" + } + }, + "patternProperties": { + "^.*$": { + "properties": { + "env": { + "additionalproperties": false, + "properties": { + "currentCoinbase": { + "$ref": "#/definitions/HexData" + }, + "currentDifficulty": { + "$ref": "#/definitions/ConfusedHexType" + }, + "currentGasLimit": { + "$ref": "#/definitions/ConfusedHexType" + }, + "currentNumber": { + "$ref": "#/definitions/ConfusedHexType" + }, + "currentTimestamp": { + "$ref": "#/definitions/ConfusedHexType" + } + }, + "required": [ + "currentCoinbase", + "currentDifficulty", + "currentGasLimit", + "currentNumber", + "currentTimestamp" + ], + "type": "object" + }, + "exec": { + "additionalproperties": false, + "properties": { + "address": { + "$ref": "#/definitions/AddressMaybePrefixOrEmpty" + }, + "caller": { + "$ref": "#/definitions/AddressMaybePrefixOrEmpty" + }, + "code": { + "$ref": "#/definitions/HexMaybePrefixOrEmpty" + }, + "data": { + "$ref": "#/definitions/HexDataOrEmpty" + }, + "gas": { + "$ref": "#/definitions/IntegerOrEmptyOrConfusedHex" + }, + "gasPrice": { + "$ref": "#/definitions/IntegerOrEmptyOrConfusedHex" + }, + "origin": { + "$ref": "#/definitions/AddressMaybePrefixOrEmpty" + }, + "value": { + "$ref": "#/definitions/IntegerOrEmptyOrConfusedHex" + } + }, + "required": [ + "address", + "caller", + "code", + "data", + "gas", + "gasPrice", + "origin", + "value" + ] + }, + "gas": { + "$ref": "#/definitions/IntegerOrEmptyOrConfusedHex" + }, + "logs": { + "$ref": "#/definitions/HexDataOrEmpty" + }, + "out": { + "$ref": "#/definitions/HexDataOrEmpty" + }, + "post": { + "additionalProperties": false, + "patternProperties": { + "^0x[0-9a-f]*": { + "$ref": "#/definitions/PreStateAccount", + "description": "poststate account address with 0x prefix" + } + }, + "type": "object" + }, + "pre": { + "additionalProperties": false, + "patternProperties": { + "^0x[0-9a-f]*": { + "$ref": "#/definitions/PreStateAccount", + "description": "prestate account address with 0x prefix" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" +}
\ No newline at end of file |