{ "definitions": { "BadHexData": { "pattern": "^0x[0-9a-zA-Z]*$", "type": "string" }, "Block": { "additionalProperties": false, "properties": { "//comment": { "type": "string" }, "blockHeader": { "$ref": "#/definitions/BlockHeader" }, "blockHeaderPremine": {}, "blocknumber": { "$ref": "#/definitions/IntegerOrEmptyOrConfusedHex" }, "chainname": { "type": "string" }, "chainnetwork": { "type": "string" }, "comment": { "type": "string" }, "expectExceptionALL": { "type": "string" }, "expectExceptionByzantium": { "type": "string" }, "expectExceptionConstantinople": { "type": "string" }, "expectExceptionEIP150": { "type": "string" }, "expectExceptionEIP158": { "type": "string" }, "expectExceptionFrontier": { "type": "string" }, "expectExceptionHomestead": { "type": "string" }, "rlp": { "$ref": "#/definitions/BadHexData" }, "transactions": { "items": { "$ref": "#/definitions/Transaction" }, "type": "array" }, "uncleHeaders": { "type": "array" } }, "type": "object" }, "BlockHeader": { "properties": { "bloom": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "coinbase": { "$ref": "#/definitions/AddressMaybePrefixOrEmpty" }, "difficulty": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "extraData": { "$ref": "#/definitions/HexMaybePrefixOrEmpty" }, "gasLimit": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "gasUsed": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "hash": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "mixHash": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "nonce": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "number": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "parentHash": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "receiptTrie": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "stateRoot": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "timestamp": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "transactionsTrie": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "uncleHash": { "$ref": "#/definitions/IntegerOrConfusedHex" } } }, "BlockHeaderPremine": { "properties": { "difficulty": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "gasLimit": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "timestamp": { "$ref": "#/definitions/IntegerOrConfusedHex" }, "updatePow": { "$ref": "#/definitions/IntegerOrConfusedHex" } } }, "NullSenderTransaction": { "additionalProperties": true, "not": { "required": [ "secretKey" ] }, "properties": { "data": { "items": { "$ref": "#/definitions/HexMaybePrefixOrEmpty" }, "type": "array" }, "gasLimit": { "items": { "$ref": "#/definitions/IntegerOrEmptyOrConfusedHex" }, "type": "array" }, "gasPrice": { "$ref": "#/definitions/IntegerOrEmptyOrConfusedHex" }, "nonce": { "$ref": "#/definitions/IntegerOrEmptyOrConfusedHex" }, "r": { "$ref": "#/definitions/TxSigR" }, "s": { "$ref": "#/definitions/TxSigS" }, "to": { "$ref": "#/definitions/AddressMaybePrefixOrEmpty" }, "v": { "$ref": "#/definitions/TxSigV" }, "value": { "items": { "$ref": "#/definitions/IntegerOrEmptyOrConfusedHex" }, "type": "array" } }, "required": [ "data", "gasLimit", "gasPrice", "nonce", "r", "s", "v", "to", "value" ], "type": "object" }, "PreStateAccount": { "additionalproperties": true, "properties": { "balance": { "$ref": "#/definitions/ConfusedHexType" }, "code": { "$ref": "#/definitions/LLLCode" }, "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" }, "sealEngine": { "$ref": "#/definitions/SealEngineType" }, "Transaction": { "additionalProperties": true, "not": { "required": [ "r, s, v" ] }, "properties": { "data": { "$ref": "#/definitions/TxData" }, "gasLimit": { "$ref": "#/definitions/IntegerOrEmptyOrConfusedHex" }, "gasPrice": { "$ref": "#/definitions/IntegerOrEmptyOrConfusedHex" }, "nonce": { "$ref": "#/definitions/IntegerOrEmptyOrConfusedHex" }, "secretKey": { "$ref": "#/definitions/HexMaybePrefix" }, "to": { "$ref": "#/definitions/AddressMaybePrefixOrEmpty" }, "value": { "$ref": "#/definitions/IntegerOrEmptyOrConfusedHex" } }, "required": [ "data", "gasLimit", "gasPrice", "nonce", "to", "value" ], "type": "object" }, "TxData": { "anyOf": [ { "$ref": "#/definitions/HexData" }, { "$ref": "#/definitions/EmptyString" }, { "$ref": "#/definitions/LLLCode" } ] }, "TxSigR": { "oneOf": [ { "enum": [ "0x00" ] } ] }, "TxSigS": { "oneOf": [ { "enum": [ "0x00" ] } ] }, "TxSigV": { "description": "a value of 0 is an invalid chainId, but used in a test case", "oneOf": [ { "enum": [ "0x00", "0x01" ] } ] } }, "patternProperties": { "^.*$": { "properties": { "blocks": { "items": { "$ref": "#/definitions/Block" }, "type": "array" }, "expect": { "patternProperties": { "^0x[0-9a-f]*": { "$ref": "#/definitions/PreStateAccount", "description": "poststate account address with 0x prefix" } } }, "genesisBlockHeader": { "$ref": "#/definitions/BlockHeader" }, "genesisRLP": { "$ref": "#/definitions/ConfusedHexType" }, "pre": { "patternProperties": { "^0x[0-9a-f]*": { "$ref": "#/definitions/PreStateAccount", "description": "prestate account address with 0x prefix" } } }, "sealEngine": { "$ref": "#/definitions/SealEngineType" } }, "required": [ "pre", "blocks", "genesisBlockHeader" ], "type": "object" } } }