From 9e08cfd602ef42a1e8e03111df814a7b7650c92e Mon Sep 17 00:00:00 2001 From: Dzmitry Kliapkou Date: Wed, 25 Feb 2026 10:06:45 +0300 Subject: [PATCH] Added initial specs for base, polygon, arbitrum --- arbitrum/json-rpc/CHANGELOG.md | 11 + arbitrum/json-rpc/VERSION | 1 + arbitrum/json-rpc/openrpc.json | 3260 ++++++++++++++++++++++++++++++++ base/json-rpc/CHANGELOG.md | 11 + base/json-rpc/VERSION | 1 + base/json-rpc/openrpc.json | 3248 +++++++++++++++++++++++++++++++ polygon/json-rpc/CHANGELOG.md | 11 + polygon/json-rpc/VERSION | 1 + polygon/json-rpc/openrpc.json | 3248 +++++++++++++++++++++++++++++++ 9 files changed, 9792 insertions(+) create mode 100644 arbitrum/json-rpc/CHANGELOG.md create mode 100644 arbitrum/json-rpc/VERSION create mode 100644 arbitrum/json-rpc/openrpc.json create mode 100644 base/json-rpc/CHANGELOG.md create mode 100644 base/json-rpc/VERSION create mode 100644 base/json-rpc/openrpc.json create mode 100644 polygon/json-rpc/CHANGELOG.md create mode 100644 polygon/json-rpc/VERSION create mode 100644 polygon/json-rpc/openrpc.json diff --git a/arbitrum/json-rpc/CHANGELOG.md b/arbitrum/json-rpc/CHANGELOG.md new file mode 100644 index 0000000..f5da639 --- /dev/null +++ b/arbitrum/json-rpc/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +All notable changes to this schema are documented in this file. + +The format is based on [Keep a ChangeLog](https://keepachangelog.com/) and follows [Semantic Versioning](https://semver.org/) + +## [0.0.1] - 2026-02-25 + +### Added + +- Initial version of the spec diff --git a/arbitrum/json-rpc/VERSION b/arbitrum/json-rpc/VERSION new file mode 100644 index 0000000..8a9ecc2 --- /dev/null +++ b/arbitrum/json-rpc/VERSION @@ -0,0 +1 @@ +0.0.1 \ No newline at end of file diff --git a/arbitrum/json-rpc/openrpc.json b/arbitrum/json-rpc/openrpc.json new file mode 100644 index 0000000..3b769b4 --- /dev/null +++ b/arbitrum/json-rpc/openrpc.json @@ -0,0 +1,3260 @@ +{ + "openrpc": "1.2.4", + "info": { + "title": "Arbitrum JSON-RPC Specification", + "description": "A specification of the Arbitrum execution JSON-RPC API provided by Chain.Love platform.", + "version": "0.0.1", + "contact": { + "name": "devs", + "email": "devs@chain.love" + } + }, + "methods": [ + { + "name": "debug_storageRangeAt", + "summary": "Returns a range of storage entries for a contract at a specific point in a block.", + "params": [ + { + "name": "blockHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/BlockHash" + }, + "description": "Block hash at which the storage is inspected" + }, + { + "name": "txIndex", + "required": true, + "schema": { + "$ref": "#/components/schemas/TransactionIndex" + }, + "description": "Transaction index within the block used to select the execution state" + }, + { + "name": "address", + "required": true, + "schema": { + "$ref": "#/components/schemas/Address" + }, + "description": "Contract address whose storage is queried" + }, + { + "name": "startKey", + "required": true, + "schema": { + "$ref": "#/components/schemas/StorageKey" + }, + "description": "Starting storage key (hashed) from which to begin the range" + }, + { + "name": "limit", + "required": true, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/Quantity" + }, + { + "type": "integer", + "minimum": 0 + } + ] + }, + "description": "Maximum number of storage entries to return" + } + ], + "result": { + "name": "storageRange", + "schema": { + "$ref": "#/components/schemas/StorageRangeResult" + } + }, + "x-cu-cost": 20 + }, + { + "name": "eth_blockNumber", + "summary": "Returns the number of most recent block.", + "params": [], + "result": { + "$ref": "#/components/contentDescriptors/BlockNumber" + }, + "examples": [ + { + "name": "eth_blockNumber example", + "params": [], + "result": { + "name": "Block number", + "value": "0x2377" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_call", + "summary": "Executes a new message call (locally) immediately without creating a transaction on the block chain.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Transaction" + }, + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "returnValue", + "description": "The return value of the executed contract", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_call example", + "params": [ + { + "name": "Transaction", + "value": { + "to": "0x69498dd54bd25aa0c886cf1f8b8ae0856d55ff13", + "value": "0x1" + } + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Return data", + "value": "0x" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_chainId", + "summary": "Returns the currently configured chain id", + "description": "Returns the currently configured chain id, a value used in replay-protected transaction signing as introduced by [EIP-155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md).", + "params": [], + "result": { + "name": "chainId", + "description": "hex format integer of the current chain id. Defaults are ETC=61, ETH=1, Morden=62.", + "schema": { + "title": "chainId", + "type": "string", + "pattern": "^0x[a-fA-F\\d]+$" + } + }, + "examples": [ + { + "name": "eth_chainId example", + "params": [], + "result": { + "name": "Chain ID", + "value": "0x1" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_coinbase", + "summary": "Returns the client coinbase address.", + "params": [], + "result": { + "name": "address", + "description": "The address owned by the client that is used as default for things like the mining reward", + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + "examples": [ + { + "name": "eth_coinbase example", + "params": [], + "result": { + "name": "Coinbase address", + "value": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_estimateGas", + "summary": "Generates and returns an estimate of how much gas is necessary to allow the transaction to complete. The transaction will not be added to the blockchain. Note that the estimate may be significantly more than the amount of gas actually used by the transaction, for a variety of reasons including EVM mechanics and node performance.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Transaction" + } + ], + "result": { + "name": "gasUsed", + "description": "The amount of gas used", + "schema": { + "$ref": "#/components/schemas/Integer" + } + }, + "examples": [ + { + "name": "eth_estimateGas example", + "params": [ + { + "name": "Transaction", + "value": { + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "to": "0x44aa93095d6749a706051658b970b941c72c1d53", + "value": "0x1" + } + } + ], + "result": { + "name": "Gas used", + "value": "0x5208" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_gasPrice", + "summary": "Returns the current price per gas in wei", + "params": [], + "result": { + "$ref": "#/components/contentDescriptors/GasPrice" + }, + "examples": [ + { + "name": "eth_gasPrice example", + "params": [], + "result": { + "name": "Gas price", + "value": "0x3e8" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBalance", + "summary": "Returns Ether balance of a given or account or contract", + "params": [ + { + "name": "address", + "required": true, + "description": "The address of the account or contract", + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + { + "name": "blockNumber", + "description": "A BlockNumber at which to request the balance", + "schema": { + "$ref": "#/components/schemas/BlockNumber" + } + } + ], + "result": { + "name": "getBalanceResult", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "examples": [ + { + "name": "eth_getBalance example", + "params": [ + { + "name": "Address", + "value": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73" + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Balance", + "value": "0x1cfe56f3795885980000" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockByHash", + "summary": "Gets a block for a given hash", + "params": [ + { + "name": "blockHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/BlockHash" + } + }, + { + "name": "includeTransactions", + "description": "If `true` it returns the full transaction objects, if `false` only the hashes of the transactions.", + "required": true, + "schema": { + "title": "isTransactionsIncluded", + "type": "boolean" + } + } + ], + "result": { + "name": "getBlockByHashResult", + "schema": { + "$ref": "#/components/schemas/BlockOrNull" + } + }, + "examples": [ + { + "name": "eth_getBlockByHash example", + "params": [ + { + "name": "Block hash", + "value": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c" + }, + { + "name": "Hydrated transactions", + "value": false + } + ], + "result": { + "name": "Block information", + "value": { + "number": "0x68b3", + "hash": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c", + "mixHash": "0x24900fb3da77674a861c428429dce0762707ecb6052325bbd9b3c64e74b5af9d", + "parentHash": "0x1f68ac259155e2f38211ddad0f0a15394d55417b185a93923e2abe71bb7a4d6d", + "nonce": "0x378da40ff335b070", + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "logsBloom": "0x00000000000000100000004080000000000500000000000000020000100000000800001000000004000001000000000000000800040010000020100000000400000010000000000000000040000000000000040000000000000000000000000000000400002400000000000000000000000000000004000004000000000000840000000800000080010004000000001000000800000000000000000000000000000000000800000000000040000000020000000000000000000800000400000000000000000000000600000400000000002000000000000000000000004000000000000000100000000000000000000000000000000000040000900010000000", + "transactionsRoot": "0x4d0c8e91e16bdff538c03211c5c73632ed054d00a7e210c0eb25146c20048126", + "stateRoot": "0x91309efa7e42c1f137f31fe9edbe88ae087e6620d0d59031324da3e2f4f93233", + "receiptsRoot": "0x68461ab700003503a305083630a8fb8d14927238f0bc8b6b3d246c0c64f21f4a", + "miner": "0xb42b6c4a95406c78ff892d270ad20b22642e102d", + "difficulty": "0x66e619a", + "totalDifficulty": "0x1e875d746ae", + "extraData": "0xd583010502846765746885676f312e37856c696e7578", + "size": "0x334", + "gasLimit": "0x47e7c4", + "gasUsed": "0x37993", + "timestamp": "0x5835c54d", + "uncles": [], + "transactions": [ + "0xa0807e117a8dd124ab949f460f08c36c72b710188f01609595223b325e58e0fc", + "0xeae6d797af50cb62a596ec3939114d63967c374fa57de9bc0f4e2b576ed6639d" + ], + "baseFeePerGas": "0x7", + "withdrawalsRoot": "0x7a4ecf19774d15cf9c15adf0dd8e8a250c128b26c9e2ab2a08d6c9c8ffbd104f", + "withdrawals": [ + { + "index": "0x0", + "validatorIndex": "0x9d8c0", + "address": "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "amount": "0x11a33e3760" + } + ], + "blobGasUsed": "0x0", + "excessBlobGas": "0x0", + "parentBeaconBlockRoot": "0x95c4dbd5b19f6fe3cbc3183be85ff4e85ebe75c5b4fc911f1c91e5b7a554a685" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockByNumber", + "summary": "Gets a block for a given number", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + }, + { + "name": "includeTransactions", + "description": "If `true` it returns the full transaction objects, if `false` only the hashes of the transactions.", + "required": true, + "schema": { + "title": "isTransactionsIncluded", + "type": "boolean" + } + } + ], + "result": { + "name": "getBlockByNumberResult", + "schema": { + "$ref": "#/components/schemas/BlockOrNull" + } + }, + "examples": [ + { + "name": "eth_getBlockByNumber example", + "params": [ + { + "name": "block", + "value": "0x68b3" + }, + { + "name": "Hydrated transactions", + "value": false + } + ], + "result": { + "name": "Block information", + "value": { + "number": "0x68b3", + "hash": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c", + "mixHash": "0x24900fb3da77674a861c428429dce0762707ecb6052325bbd9b3c64e74b5af9d", + "parentHash": "0x1f68ac259155e2f38211ddad0f0a15394d55417b185a93923e2abe71bb7a4d6d", + "nonce": "0x378da40ff335b070", + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "logsBloom": "0x00000000000000100000004080000000000500000000000000020000100000000800001000000004000001000000000000000800040010000020100000000400000010000000000000000040000000000000040000000000000000000000000000000400002400000000000000000000000000000004000004000000000000840000000800000080010004000000001000000800000000000000000000000000000000000800000000000040000000020000000000000000000800000400000000000000000000000600000400000000002000000000000000000000004000000000000000100000000000000000000000000000000000040000900010000000", + "transactionsRoot": "0x4d0c8e91e16bdff538c03211c5c73632ed054d00a7e210c0eb25146c20048126", + "stateRoot": "0x91309efa7e42c1f137f31fe9edbe88ae087e6620d0d59031324da3e2f4f93233", + "receiptsRoot": "0x68461ab700003503a305083630a8fb8d14927238f0bc8b6b3d246c0c64f21f4a", + "miner": "0xb42b6c4a95406c78ff892d270ad20b22642e102d", + "difficulty": "0x66e619a", + "totalDifficulty": "0x1e875d746ae", + "extraData": "0xd583010502846765746885676f312e37856c696e7578", + "size": "0x334", + "gasLimit": "0x47e7c4", + "gasUsed": "0x37993", + "timestamp": "0x5835c54d", + "uncles": [], + "transactions": [ + "0xa0807e117a8dd124ab949f460f08c36c72b710188f01609595223b325e58e0fc", + "0xeae6d797af50cb62a596ec3939114d63967c374fa57de9bc0f4e2b576ed6639d" + ], + "baseFeePerGas": "0x7", + "withdrawalsRoot": "0x7a4ecf19774d15cf9c15adf0dd8e8a250c128b26c9e2ab2a08d6c9c8ffbd104f", + "withdrawals": [ + { + "index": "0x0", + "validatorIndex": "0x9d8c0", + "address": "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "amount": "0x11a33e3760" + } + ], + "blobGasUsed": "0x0", + "excessBlobGas": "0x0", + "parentBeaconBlockRoot": "0x95c4dbd5b19f6fe3cbc3183be85ff4e85ebe75c5b4fc911f1c91e5b7a554a685" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockReceipts", + "summary": "Returns the receipts of a block by number or hash.", + "params": [ + { + "name": "Block", + "required": true, + "schema": { + "title": "Block number, tag, or block hash", + "anyOf": [ + { + "title": "Block number", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + { + "title": "Block tag", + "type": "string", + "enum": [ + "earliest", + "finalized", + "safe", + "latest", + "pending" + ], + "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error" + }, + { + "title": "Block hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + } + ] + } + } + ], + "result": { + "name": "Receipts information", + "schema": { + "oneOf": [ + { + "title": "Not Found (null)", + "type": "null" + }, + { + "title": "Receipts information", + "type": "array", + "items": { + "type": "object", + "title": "Receipt information", + "required": [ + "blockHash", + "blockNumber", + "from", + "cumulativeGasUsed", + "gasUsed", + "logs", + "logsBloom", + "transactionHash", + "transactionIndex", + "effectiveGasPrice" + ], + "additionalProperties": false, + "properties": { + "type": { + "title": "type", + "type": "string", + "pattern": "^0x([0-9a-fA-F]?){1,2}$" + }, + "transactionHash": { + "title": "transaction hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + }, + "transactionIndex": { + "title": "transaction index", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "blockHash": { + "title": "block hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + }, + "blockNumber": { + "title": "block number", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "from": { + "title": "from", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + "to": { + "title": "to", + "description": "Address of the receiver or null in a contract creation transaction.", + "oneOf": [ + { + "title": "Contract Creation (null)", + "type": "null" + }, + { + "title": "Recipient Address", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + } + ] + }, + "cumulativeGasUsed": { + "title": "cumulative gas used", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The sum of gas used by this transaction and all preceding transactions in the same block." + }, + "gasUsed": { + "title": "gas used", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The amount of gas used for this specific transaction alone." + }, + "blobGasUsed": { + "title": "blob gas used", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The amount of blob gas used for this specific transaction. Only specified for blob transactions as defined by EIP-4844." + }, + "contractAddress": { + "title": "contract address", + "description": "The contract address created, if the transaction was a contract creation, otherwise null.", + "oneOf": [ + { + "title": "hex encoded address", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + { + "title": "Null", + "type": "null" + } + ] + }, + "logs": { + "title": "logs", + "type": "array", + "items": { + "title": "log", + "type": "object", + "required": [ + "transactionHash" + ], + "additionalProperties": false, + "properties": { + "removed": { + "title": "removed", + "type": "boolean" + }, + "logIndex": { + "title": "log index", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "transactionIndex": { + "title": "transaction index", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "transactionHash": { + "title": "transaction hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + }, + "blockHash": { + "title": "block hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + }, + "blockNumber": { + "title": "block number", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "address": { + "title": "address", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + "data": { + "title": "data", + "type": "string", + "pattern": "^0x[0-9a-f]*$" + }, + "topics": { + "title": "topics", + "type": "array", + "items": { + "title": "32 hex encoded bytes", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + } + } + } + } + }, + "logsBloom": { + "title": "logs bloom", + "type": "string", + "pattern": "^0x[0-9a-f]{512}$" + }, + "root": { + "title": "state root", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$", + "description": "The post-transaction state root. Only specified for transactions included before the Byzantium upgrade." + }, + "status": { + "title": "status", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "Either 1 (success) or 0 (failure). Only specified for transactions included after the Byzantium upgrade." + }, + "effectiveGasPrice": { + "title": "effective gas price", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The actual value per gas deducted from the sender's account. Before EIP-1559, this is equal to the transaction's gas price. After, it is equal to baseFeePerGas + min(maxFeePerGas - baseFeePerGas, maxPriorityFeePerGas)." + }, + "blobGasPrice": { + "title": "blob gas price", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The actual value per gas deducted from the sender's account for blob gas. Only specified for blob transactions as defined by EIP-4844." + } + } + } + } + ] + } + }, + "examples": [ + { + "name": "eth_getBlockReceipts example", + "params": [ + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Receipts information", + "value": [ + { + "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182", + "blockNumber": "0x6f55", + "contractAddress": null, + "cumulativeGasUsed": "0x18c36", + "from": "0x22896bfc68814bfd855b1a167255ee497006e730", + "gasUsed": "0x18c36", + "blobGasUsed": "0x20000", + "effectiveGasPrice": "0x9502f907", + "blobGasPrice": "0x32", + "logs": [ + { + "address": "0xfd584430cafa2f451b4e2ebcf3986a21fff04350", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x4be29e0e4eb91f98f709d98803cba271592782e293b84a625e025cbb40197ba8", + "0x000000000000000000000000835281a2563db4ebf1b626172e085dc406bfc7d2", + "0x00000000000000000000000022896bfc68814bfd855b1a167255ee497006e730" + ], + "data": "0x", + "blockNumber": "0x6f55", + "transactionHash": "0x4a481e4649da999d92db0585c36cba94c18a33747e95dc235330e6c737c6f975", + "transactionIndex": "0x0", + "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000080020000000000000200010000000000000000000001000000800000000000000000000000000000000000000000000000000000100100000000000000000000008000000000000000000000000000000002000000000000000000000", + "status": "0x1", + "to": "0xfd584430cafa2f451b4e2ebcf3986a21fff04350", + "transactionHash": "0x4a481e4649da999d92db0585c36cba94c18a33747e95dc235330e6c737c6f975", + "transactionIndex": "0x0", + "type": "0x0" + }, + { + "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182", + "blockNumber": "0x6f55", + "contractAddress": null, + "cumulativeGasUsed": "0x1de3e", + "from": "0x712e3a792c974b3e3dbe41229ad4290791c75a82", + "gasUsed": "0x5208", + "blobGasUsed": "0x20000", + "effectiveGasPrice": "0x9502f907", + "blobGasPrice": "0x32", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xd42e2b1c14d02f1df5369a9827cb8e6f3f75f338", + "transactionHash": "0xefb83b4e3f1c317e8da0f8e2fbb2fe964f34ee184466032aeecac79f20eacaf6", + "transactionIndex": "0x1", + "type": "0x2" + } + ] + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockTransactionCountByHash", + "summary": "Returns the number of transactions in a block from a block matching the given block hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + } + ], + "result": { + "name": "blockTransactionCountByHash", + "description": "The Number of total transactions in the given block", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "examples": [ + { + "name": "eth_getBlockTransactionCountByHash example", + "params": [ + { + "name": "Block hash", + "value": "0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238" + } + ], + "result": { + "name": "Transaction count", + "value": "0x8" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockTransactionCountByNumber", + "summary": "Returns the number of transactions in a block from a block matching the given block number.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "blockTransactionCountByHash", + "description": "The Number of total transactions in the given block", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "examples": [ + { + "name": "eth_getBlockTransactionCountByNumber example", + "params": [ + { + "name": "Block", + "value": "0xe8" + } + ], + "result": { + "name": "Transaction count", + "value": "0x8" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getCode", + "summary": "Returns code at a given contract address", + "params": [ + { + "name": "address", + "required": true, + "description": "The address of the contract", + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + { + "name": "blockNumber", + "description": "A BlockNumber of which the code existed", + "schema": { + "$ref": "#/components/schemas/BlockNumber" + } + } + ], + "result": { + "name": "bytes", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_getCode example", + "params": [ + { + "name": "Address", + "value": "0xa50a51c09a5c451c52bb714527e1974b686d8e77" + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Bytecode", + "value": "0x60806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633fa4f2458114604d57806355241077146071575b600080fd5b348015605857600080fd5b50605f6088565b60408051918252519081900360200190f35b348015607c57600080fd5b506086600435608e565b005b60005481565b60008190556040805182815290517f199cd93e851e4c78c437891155e2112093f8f15394aa89dab09e38d6ca0727879181900360200190a1505600a165627a7a723058209d8929142720a69bde2ab3bfa2da6217674b984899b62753979743c0470a2ea70029" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getFilterChanges", + "summary": "Polling method for a filter, which returns an array of logs which occurred since last poll.", + "params": [ + { + "name": "filterId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FilterId" + } + } + ], + "result": { + "name": "logResult", + "schema": { + "title": "logResult", + "type": "array", + "items": { + "$ref": "#/components/schemas/Log" + } + } + }, + "examples": [ + { + "name": "eth_getFilterChanges example", + "params": [ + { + "name": "Filter identifier", + "value": "0x01" + } + ], + "result": { + "name": "Log objects", + "value": [ + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x233", + "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5", + "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000004", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + }, + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x238", + "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed", + "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000007", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + } + ] + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getFilterLogs", + "summary": "Returns an array of all logs matching filter with given id.", + "params": [ + { + "name": "filterId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FilterId" + } + } + ], + "result": { + "$ref": "#/components/contentDescriptors/Logs" + }, + "examples": [ + { + "name": "eth_getFilterLogs example", + "params": [ + { + "name": "Filter identifier", + "value": "0x01" + } + ], + "result": { + "name": "Log objects", + "value": [ + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x233", + "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5", + "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000004", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + }, + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x238", + "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed", + "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000007", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + } + ] + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getLogs", + "summary": "Returns an array of all logs matching a given filter object.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Filter" + } + ], + "result": { + "$ref": "#/components/contentDescriptors/Logs" + }, + "examples": [ + { + "name": "eth_getLogs example", + "params": [ + { + "name": "Filter", + "value": { + "fromBlock": "0x137d3c2", + "toBlock": "0x137d3c3", + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [] + } + } + ], + "result": { + "name": "Log objects", + "value": [ + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x233", + "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5", + "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000004", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + }, + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x238", + "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed", + "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000007", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + } + ] + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getProof", + "summary": "Returns the account- and storage-values of the specified account including the Merkle-proof.", + "params": [ + { + "name": "address", + "description": "The address of the account or contract", + "required": true, + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + { + "name": "storageKeys", + "required": true, + "schema": { + "title": "storageKeys", + "description": "A storage key is indexed from the solidity compiler by the order it is declared. For mappings it uses the keccak of the mapping key with its position (and recursively for X-dimensional mappings)", + "items": { + "$ref": "#/components/schemas/StorageProofKey" + } + } + }, + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "account", + "schema": { + "title": "proofAccountOrNull", + "oneOf": [ + { + "title": "proofAccount", + "type": "object", + "description": "The merkle proofs of the specified account connecting them to the blockhash of the block specified", + "properties": { + "address": { + "title": "proofAccountAddress", + "description": "The address of the account or contract of the request", + "$ref": "#/components/schemas/Address" + }, + "accountProof": { + "$ref": "#/components/schemas/ProofNodes" + }, + "balance": { + "title": "proofAccountBalance", + "description": "The Ether balance of the account or contract of the request", + "$ref": "#/components/schemas/Integer" + }, + "codeHash": { + "title": "proofAccountCodeHash", + "description": "The code hash of the contract of the request (keccak(NULL) if external account)", + "$ref": "#/components/schemas/Keccak" + }, + "nonce": { + "title": "proofAccountNonce", + "description": "The transaction count of the account or contract of the request", + "$ref": "#/components/schemas/Nonce" + }, + "storageHash": { + "title": "proofAccountStorageHash", + "description": "The storage hash of the contract of the request (keccak(rlp(NULL)) if external account)", + "$ref": "#/components/schemas/Keccak" + }, + "storageProof": { + "$ref": "#/components/schemas/StorageProof" + } + } + }, + { + "$ref": "#/components/schemas/Null" + } + ] + } + }, + "examples": [ + { + "name": "eth_getProof example", + "params": [ + { + "name": "Address", + "value": "0xe5cB067E90D5Cd1F8052B83562Ae670bA4A211a8" + }, + { + "name": "StorageKeys", + "value": [ + "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421" + ] + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Account", + "value": { + "accountProof": [ + "0xf90211a06a718c2c9da77c253b12d7b2569657901e37bb691718f5dda1b86157ab1dd5eda0e7f19ed5e21bccc8d3260236b24f80ad88b3634f5d005f37b838881f0e12f1bda0abb301291704e4d92686c0f5f8ebb1734185321559b8d717ffdca95c99591976a0d0c2026bfab65c3b95276bfa82af9dec860b485f8857f293c148d63a2182128fa0c98044ec9a1273a218bed58b478277dd39173ad7b8edb95c200423a6bc8fc25fa056e5a55d9ddccdbf49362857200bbb1f042d61187c9f5f9ddcff5d2f1fc984a2a02a5b7200af424114f99a4b5f0a21c19aac82209e431ed80bfde177adb1004bdfa0026e4374f0518ff44a80fa374838ecb86cc64ac93bb710fea6dff4198f947b27a03fea341d87984673ad523177ed52f278bf4d8f97e6531c8ece932aeede4802f4a0bfe2f4a7fcb78f7e9f080dea7b6977fb1d88c441696e4456dad92b9d34ff0f43a02a3eb5c0edb14626c9c629601027bd60178bb2b688a67cea4d179fc432436615a0747355b8e02f3b884b4ffe5cea1619e32515fea064cca98208591af8c744e894a0874253737bae37f020ad3bb7e3292c7c4a63cdc158af6b33aaa4deaef016dccba03d8192bc1fc6aa1548912e763a0b5013a94399cefad7b47cf388873b2b794068a09b67f9737c6028d796bfd1c5da57a6f45824dc891f848ea0e1f8019d1fb5fba8a0aa871f9de8da85960fcd8a22cdf21c27f11e3966c14a6737ffd414b98dda00b280", + "0xf90211a0d360be1e1da1a0c32bc4c105833bd531e59d110684007b7c50fb2709002973eca0cf6dd1e350a7031b4e2ab49c899fd8bd47551c8565d8fd8d1d7796c83820c3b1a0eb0a88c29bb33989a589156f7bf07d9efc74034dd9d3f5b73385c3b45c3249bea02783c25f97a6ddb8dc07adf4b176991836d39184b1f678adeda832fff15e3664a00a4e288060045e587774d8a64993a7add73068b16863145e1e8eeb4602e18e19a0340851f4046ad1298962d6e47d05c66329549c839c158748aaad7ae00b943aefa085b127bc2a3bd17604283de21b2b3c9aa8f1d4b7b85c94d8105a46fe32c77688a00f531d62b3c5435324c01009c284fe31277e8d38302b75ea01be89f09e205969a00011c8351c0e3d639ac54b9d3a59de630b16a67de8270d7d6064d0a67e93f9cca048780d32b7f2db88650b51c46f46fd0a68795edee1fd5ecee6eb3595741d9669a0c91afd74eaf8e08a997061a62b354e2516fdc494e8e26cc50ceeb8f4a175608ba0e2c07f1b48fab80eecb340f5882e8c7b32ee416e4045c61f1df646a133487303a01a1eff78435a7a29a29463bdc3486ae81364b00bea82ba0fdf67a110770f2261a04f2eb440ba71c72da5fd7f0e439018d6671dc809f747213a1ea755848124e994a074ff9f37fce99daa3ed01dd763076450022996fc729be2cc43c61ec5182c2366a0b80b36b7b621112592f52390b89748d422e9b1517c4b0203b8176a53f89d4a6680", + "0xf90211a0b25f283bd01a8c8b2418049f9585bc37ff2c1e2e12eab4b7f64ae1f26647389aa02ad96c150d7c3c9c194d30315456852cf6a0a940e0191ae5d04007454823d4e9a0b220cf7a855e2dbcc0b973134e2e119b982d7d40dbb1b27d99816c41f40e829aa049224431da84cbf1b7ae813abcc9ef4c1dfc1760f6ddc5d57f7354bf3cbf6cc4a015191f879ac115b362f0257fd3eedb789537e836574a5b1abf1c9982ebe3bdfea07913c1b6e7282569d2d421e9fa2257f5d1698e93303bc49b941704287d7aaefea0a526576981ce6fd9f2bd48dd2ca6d5272f2fbdc85f0ee35a295f6ccd97ae8765a0313fad407f0c737c29024c02a890c4ecc12d7771c05ab7b435e5087a7cdef4d9a0d2044603cba9d4afdaf6fd2470e729ef3a65242de71276f20d59accfa6b53a7ca0457caacb9370c09b15f7d904adefd2308be94e23669ba5f43241ffff5f438a0aa09fb2dd45a383a0cc088a72b14117e1e9b7d6889218f3ac7631e8de644c5cb76da0c675dcd4d3fb692b514851c6106e2b09e6f5661d56a0a32ae02e2efc1515c235a074949a59ff1bdba87548510d6e404ec4532f4456dfdec8e753d92fda11a3088ba0a328c6ab1ab8f70db4d23e95bb163c13ba0c508f063a5b1393a4efd7ff375f05a0c722fe3ce796998269373cbb2fc229b2bdf2c43c6c2df003309422e043ce6c03a024e69343286eec44fa4744f6907209116e5383cff3fa98fe81ba06e7e8d4366680", + "0xf90211a00e99ba2198124b8241ea304551fe973215829e2fbc0438d67922707a2a847432a0bb9ce24fd527879c5fe6dbbec1ef5a05ed9d1ca88e921d140bafbec1112f6a6aa099787fd6c7a1989229c4291ef5267335e66152ce417daea46e66d19cb6f81d1ca0e430ff4b8d5621baa5978673344e78b4d8b4df51431b6e63785267c98a24ce18a0bb3e91a825fe3d42ed270a93e9ad1aabd566c40cb28e622f7f1d7ee967c8afd6a0aa364b0056870c6507bc3262a5f851ecb13684088bdb13996d3cb2db401ce3ffa0a3732eba4c7a6e062665ab5be08acb986c3db87556fb138548cc900ff1e56995a026b088e90c9738b8ce16e853107a937a50d52726a24f9f6ce60f587762eb45a2a006c9d5bc3c064b5c1fb565bff91cace9161c64ae653a329610c1dcf34d434429a06c16df2edc70656d322d0c2403bad7d45bc790ffc3e7adeef856d98ea6afc91ba0ae05ed5d6c34b5da29c2e94d7880aeba0906f95f4ec10b132a1d4766a0701c98a01470a86aa350d1ada0c082eac75de828a851f9c8c7c4aa49b1556fe3a5574966a0334eef025100a6da1033710dd98e0475f29d3d7e397caf618ca71c336c5f4f49a0ef0b3abbebcff34d6a8a8f5cdbfbd154ab3452b58dcb09de58ec983644963675a041857e865ec38e200a13bc1a3cb71c7d69aeef7ffdee8be515c9a5b691ce091fa059edd0eb3bbec36bbf38a19802d4646c00ba821ab55fdeea12e15bab62c4e1e580", + "0xf90211a0af0c7fa65ffcb84c31e68c1cf00e1a20bf8bb497c39883e19b66a99975b03431a0c492cab3623eb7926069794c3c718733e16c5fd0d4a13fb7c752ee9809aac7ada05003cea7132aa70d6f36731d60640a90bcd8f4fd493e4540d5ab1b4943679c0ca0fd700683405b1d2306b586dd3b5b2f92f1692fae20d17cd8b8e59d09b9c6670da01db8683910e46e56e8afeb9fe2b7c35382e5a0914d7b0dd8f0e8cb9981ba7435a0fa7f75d73aa73c35824387bec81388315caa4aee3f4f5562f971beb256c62d49a0ee478e420d83f413e8568dacfd5d83f83a5dd7c45f494b504828e5dc962f0e3ea094b95444a917ac94a675681f6bf851172ad0969801a783a63a71edafed45e7a7a0a0c46586e109abe80fe50361dd582e3f143cb416828239faa43bb2b890869501a0ae051d5d43634c68bf9c97823256cc68580f194dfdbd0c301140c7ca5853430ca0660b9365bb77ec9cdc6eb95516c162dca20727c6f828dbbeb1ae110dde4d3134a09feb1b75e84ff6722e4d837bfb6d207b6ee3b21b86844a01140ce293813b49a1a0ed58a70b04efa3bdc0babe2abfa20824a75d61d52291bfdb5cf08597800764d6a020a2d5d3a83f9e35ad9fd1c448626d90af0eb3efefaa4f2f93207b4096ef5507a0fc8efc4484dcf0a54f0574de9aaade0dcff6ec3599edb9f82efb26b6566dcaeaa032f7e79856db3fd984f72bb2c93d4dab328198d355a61c975fab1f08bdb2046580" + ], + "balance": "0x0", + "codeHash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nonce": "0x0", + "storageHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "storageProof": [ + { + "key": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "proof": [ + "0xf90211a0c87222cccea2bf32759fcee9dbaacbe3ea4165dd6184af6773651c5e00e34a8ba0be90e6e5d1a67ab5587779c60ac136d6a96db62b84c04998a5f03a367346abd6a05344aa1c9ca2e3e56bf98fd718ec43728578d148e1967fbaf8bf17a2a073a0bda011a2f9312c3308640a0d6ceeae218747290f23806067456da1d444c65abae437a0b3097a108bfce79af6699da4ae3003cd4929f0b4576aad655c31cb725bde84c7a0c133d3c637e174f36a73c22b1039eb003da6374bc0929321241badb3efa3c4a9a0f13059f2301ad9862ce02e3f7f3f2c9ab78eb30583764d73654f7f1f8b1e86fda06544e3915748b18204e09df75ff20d2fa6bd8121e2e669699012d54590383d6fa070e3a8e093691581d58fadb560b510262a758037632cd8670d3a36df828976b7a062a88a2900544dc76a32255a6b2b2a2eef8fa68279700c00adc7508286702552a0a474aeebd5603dfce46a6ecd1ecd519068dc034a544fde03ac42d4018e60a334a0b7d528fc41c8fdc8ea18c6e7d0099270c777ec1403cf879d1f5134bdc12a6c6ca04440f1242e42c5bfa7c536591ab89c8e84bea417435871c32eef1e25295b20daa06a5dcfe3cc84cff9d3e3c3ae868cfba8f0dd111a90c3f85869dab5b893f96643a026b2fb9dd7d08b0ed2f1c44fbf875011412a384f86f751c92e1013248d4aa371a0c75597b2b789fc4e939b71937390ce9d7d53159431328ac52180eef08ef200f280", + "0xf90191a0f0c5b800b542001597f2b7a8e106ac0e2849d2cc1df1727ac35c4ea3965f1c9180a08537f2e248702a6ae2a57e9110a5740f5772c876389739ac90debd6a0692713ea00b3a26a05b5494fb3ff6f0b3897688a5581066b20b07ebab9252d169d928717fa0a9a54d84976d134d6dba06a65064c7f3a964a75947d452db6f6bb4b6c47b43aaa01e2a1ed3d1572b872bbf09ee44d2ed737da31f01de3c0f4b4e1f046740066461a076f251d160b9a02eb0b5c1d83b61c9cdd4f37361705e79a45529bf49801fb824a0774a01a624cb14a50d17f2fe4b7ae6af8a67bbb029177ccc3dd729a734484d3ea05921b8a19aebe4fff5a36071e311778f9b93459183fdf7f6d870b401fa25dcbba0c8d71dd13d2806e2865a5c2cfa447f626471bf0b66182a8fd07230434e1cad2680a0e9864fdfaf3693b2602f56cd938ccd494b8634b1f91800ef02203a3609ca4c21a0c69d174ad6b6e58b0bd05914352839ec60915cd066dd2bee2a48016139687f21a0513dd5514fd6bad56871711441d38de2821cc6913cb192416b0385f025650731808080" + ], + "value": "0x1" + } + ] + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getRawTransactionByBlockHashAndIndex", + "summary": "Returns raw transaction data of a transaction with the block hash and index of which it was mined.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + }, + { + "name": "index", + "description": "The ordering in which a transaction is mined within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "name": "rawTransaction", + "description": "The raw transaction data", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_getRawTransactionByBlockHashAndIndex example", + "params": [ + { + "name": "Block hash", + "value": "0xbf137c3a7a1ebdfac21252765e5d7f40d115c2757e4a4abee929be88c624fdb7" + }, + { + "name": "Transaction index", + "value": "0x2" + } + ] + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getRawTransactionByBlockNumberAndIndex", + "summary": "Returns raw transaction data of a transaction with the block number and index of which it was mined.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + }, + { + "name": "index", + "description": "The ordering in which a transaction is mined within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "name": "rawTransaction", + "description": "The raw transaction data", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_getRawTransactionByBlockNumberAndIndex example", + "params": [ + { + "name": "Block", + "value": "0x1442e" + }, + { + "name": "Transaction index", + "value": "0x2" + } + ] + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getRawTransactionByHash", + "summary": "Returns raw transaction data of a transaction with the given hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/TransactionHash" + } + ], + "result": { + "name": "rawTransactionByHash", + "description": "The raw transaction data", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_getRawTransactionByHash example", + "params": [ + { + "name": "Transaction hash", + "value": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44" + } + ] + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getStorageAt", + "summary": "Gets a storage value from a contract address, a position, and an optional blockNumber", + "params": [ + { + "$ref": "#/components/contentDescriptors/Address" + }, + { + "$ref": "#/components/contentDescriptors/Position" + }, + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "dataWord", + "schema": { + "$ref": "#/components/schemas/DataWord" + } + }, + "examples": [ + { + "name": "eth_getStorageAt example", + "params": [ + { + "name": "Address", + "value": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73" + }, + { + "name": "Storage slot", + "value": "0x0" + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Value", + "value": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionByBlockHashAndIndex", + "summary": "Returns the information about a transaction requested by the block hash and index of which it was mined.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + }, + { + "name": "index", + "description": "The ordering in which a transaction is mined within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "$ref": "#/components/contentDescriptors/TransactionResult" + }, + "examples": [ + { + "name": "nullExample", + "params": [ + { + "name": "blockHashExample", + "value": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" + }, + { + "name": "indexExample", + "value": "0x0" + } + ], + "result": { + "name": "nullResultExample", + "value": null + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionByBlockNumberAndIndex", + "summary": "Returns the information about a transaction requested by the block number and index of which it was mined.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + }, + { + "name": "index", + "description": "The ordering in which a transaction is mined within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "$ref": "#/components/contentDescriptors/TransactionResult" + }, + "examples": [ + { + "name": "eth_getTransactionByBlockNumberAndIndex example", + "params": [ + { + "name": "Block", + "value": "0x1442e" + }, + { + "name": "Transaction index", + "value": "0x2" + } + ], + "result": { + "name": "Transaction information", + "value": { + "blockHash": "0x510efccf44a192e6e34bcb439a1947e24b86244280762cbb006858c237093fda", + "blockNumber": "0x422", + "chainId": 2018, + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0x5208", + "gasPrice": "0x3b9aca00", + "hash": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44", + "input": "0x", + "nonce": "0x1", + "to": "0x627306090abab3a6e1400e9345bc60c78a8bef57", + "transactionIndex": "0x0", + "value": "0x4e1003b28d9280000", + "v": "0xfe7", + "r": "0x84caf09aefbd5e539295acc67217563438a4efb224879b6855f56857fa2037d3", + "s": "0x5e863be3829812c81439f0ae9d8ecb832b531d651fb234c848d1bf45e62be8b9" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionByHash", + "summary": "Returns the information about a transaction requested by transaction hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/TransactionHash" + } + ], + "result": { + "$ref": "#/components/contentDescriptors/TransactionResult" + }, + "examples": [ + { + "name": "eth_getTransactionByHash example", + "params": [ + { + "name": "Transaction hash", + "value": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44" + } + ], + "result": { + "name": "Transaction information", + "value": { + "blockHash": "0x510efccf44a192e6e34bcb439a1947e24b86244280762cbb006858c237093fda", + "blockNumber": "0x422", + "chainId": 2018, + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0x5208", + "gasPrice": "0x3b9aca00", + "hash": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44", + "input": "0x", + "nonce": "0x1", + "to": "0x627306090abab3a6e1400e9345bc60c78a8bef57", + "transactionIndex": "0x0", + "value": "0x4e1003b28d9280000", + "v": "0xfe7", + "r": "0x84caf09aefbd5e539295acc67217563438a4efb224879b6855f56857fa2037d3", + "s": "0x5e863be3829812c81439f0ae9d8ecb832b531d651fb234c848d1bf45e62be8b9" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionCount", + "summary": "Returns the number of transactions sent from an address", + "params": [ + { + "$ref": "#/components/contentDescriptors/Address" + }, + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "transactionCount", + "schema": { + "title": "nonceOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Nonce" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + } + }, + "examples": [ + { + "name": "eth_getTransactionCount example", + "params": [ + { + "name": "Address", + "value": "0xc94770007dda54cF92009BFF0dE90c06F603a09f" + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Transaction count", + "value": "0x1" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionReceipt", + "summary": "Returns the receipt information of a transaction by its hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/TransactionHash" + } + ], + "result": { + "name": "transactionReceiptResult", + "description": "returns either a receipt or null", + "schema": { + "title": "transactionReceiptOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Receipt" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + } + }, + "examples": [ + { + "name": "eth_getTransactionReceipt example", + "params": [ + { + "name": "Transaction hash", + "value": "0x504ce587a65bdbdb6414a0c6c16d86a04dd79bfcc4f2950eec9634b30ce5370f" + } + ], + "result": { + "name": "Receipt information", + "value": { + "blockHash": "0xe7212a92cfb9b06addc80dec2a0dfae9ea94fd344efeb157c41e12994fcad60a", + "blockNumber": "0x50", + "contractAddress": null, + "cumulativeGasUsed": "0x5208", + "from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", + "gasUsed": "0x5208", + "blobGasUsed": "0x20000", + "effectiveGasPrice": "0x1", + "blobGasPrice": "0x3", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xf17f52151ebef6c7334fad080c5704d77216b732", + "transactionHash": "0xc00e97af59c6f88de163306935f7682af1a34c67245e414537d02e422815efc3", + "transactionIndex": "0x0" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getUncleByBlockHashAndIndex", + "summary": "Returns information about a uncle of a block by hash and uncle index position.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + }, + { + "name": "index", + "description": "The ordering in which a uncle is included within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "name": "uncle", + "schema": { + "$ref": "#/components/schemas/BlockOrNull" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_getUncleByBlockNumberAndIndex", + "summary": "Returns information about a uncle of a block by hash and uncle index position.", + "params": [ + { + "name": "uncleBlockNumber", + "description": "The block in which the uncle was included", + "required": true, + "schema": { + "$ref": "#/components/schemas/BlockNumber" + } + }, + { + "name": "index", + "description": "The ordering in which a uncle is included within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "name": "uncleResult", + "description": "returns an uncle block or null", + "schema": { + "$ref": "#/components/schemas/BlockOrNull" + } + }, + "examples": [ + { + "name": "nullResultExample", + "params": [ + { + "name": "uncleBlockNumberExample", + "value": "0x0" + }, + { + "name": "uncleBlockNumberIndexExample", + "value": "0x0" + } + ], + "result": { + "name": "nullResultExample", + "value": null + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getUncleCountByBlockHash", + "summary": "Returns the number of uncles in a block from a block matching the given block hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + } + ], + "result": { + "name": "uncleCountResult", + "description": "The Number of total uncles in the given block", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "examples": [ + { + "name": "eth_getUncleCountByBlockHash example", + "params": [ + { + "name": "Block hash", + "value": "0xb3b20624f8f0f86eb50dd04688409e5cea4bd02d700bf6e79e9384d47d6a5a35" + } + ], + "result": { + "name": "Uncle count", + "value": "0x1" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getUncleCountByBlockNumber", + "summary": "Returns the number of uncles in a block from a block matching the given block number.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "$ref": "#/components/contentDescriptors/UncleCountResult" + }, + "examples": [ + { + "name": "eth_getUncleCountByBlockNumber example", + "params": [ + { + "name": "Block", + "value": "0xe8" + } + ], + "result": { + "name": "Uncle count", + "value": "0x1" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getWork", + "summary": "Returns the hash of the current block, the seedHash, and the boundary condition to be met ('target').", + "params": [], + "result": { + "name": "work", + "schema": { + "title": "getWorkResults", + "type": "array", + "items": [ + { + "$ref": "#/components/schemas/PowHash" + }, + { + "$ref": "#/components/schemas/SeedHash" + }, + { + "$ref": "#/components/schemas/Difficulty" + } + ] + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_hashrate", + "summary": "Returns the number of hashes per second that the node is mining with.", + "params": [], + "result": { + "name": "hashesPerSecond", + "description": "Integer of the number of hashes per second", + "schema": { + "$ref": "#/components/schemas/Integer" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_maxPriorityFeePerGas", + "summary": "Get the priority fee needed to be included in a block.", + "params": [], + "result": { + "name": "Max fee", + "description": "The hex value of the priority fee needed to be included in a block", + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + }, + { + "name": "eth_mining", + "summary": "Returns true if client is actively mining new blocks.", + "params": [], + "result": { + "name": "mining", + "description": "Whether or not the client is mining", + "schema": { + "type": "boolean" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_newBlockFilter", + "summary": "Creates a filter in the node, to notify when a new block arrives. To check if the state has changed, call eth_getFilterChanges.", + "params": [], + "result": { + "$ref": "#/components/contentDescriptors/FilterId" + }, + "examples": [ + { + "name": "eth_newBlockFilter example", + "params": [], + "result": { + "name": "Filter identifier", + "value": "0x01" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_newFilter", + "summary": "Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call eth_getFilterChanges.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Filter" + } + ], + "result": { + "name": "filterId", + "description": "The filter ID for use in `eth_getFilterChanges`", + "schema": { + "$ref": "#/components/schemas/Integer" + } + }, + "examples": [ + { + "name": "eth_newFilter example", + "params": [ + { + "name": "Filter", + "value": { + "fromBlock": "0x137d3c2", + "toBlock": "0x137d3c3", + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [] + } + } + ], + "result": { + "name": "Filter identifier", + "value": "0x01" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_newPendingTransactionFilter", + "summary": "Creates a filter in the node, to notify when new pending transactions arrive. To check if the state has changed, call eth_getFilterChanges.", + "params": [], + "result": { + "$ref": "#/components/contentDescriptors/FilterId" + }, + "examples": [ + { + "name": "eth_newPendingTransactionFilter example", + "params": [], + "result": { + "name": "Filter identifier", + "value": "0x01" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_pendingTransactions", + "summary": "Returns the transactions that are pending in the transaction pool and have a from address that is one of the accounts this node manages.", + "params": [], + "result": { + "name": "pendingTransactions", + "schema": { + "$ref": "#/components/schemas/Transactions" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_protocolVersion", + "summary": "Returns the current ethereum protocol version.", + "params": [], + "result": { + "name": "protocolVersion", + "description": "The current ethereum protocol version", + "schema": { + "$ref": "#/components/schemas/Integer" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_sendRawTransaction", + "summary": "Creates new message call transaction or a contract creation for signed transactions.", + "params": [ + { + "name": "signedTransactionData", + "required": true, + "description": "The signed transaction data", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + } + ], + "result": { + "name": "transactionHash", + "description": "The transaction hash, or the zero hash if the transaction is not yet available.", + "schema": { + "$ref": "#/components/schemas/Keccak" + } + }, + "examples": [ + { + "name": "eth_sendRawTransaction example", + "params": [ + { + "name": "Transaction", + "value": "0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833" + } + ], + "result": { + "name": "Transaction hash", + "value": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_submitHashrate", + "deprecated": true, + "summary": "Used for submitting mining hashrate.", + "params": [ + { + "name": "hashRate", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataWord" + } + }, + { + "name": "id", + "required": true, + "description": "String identifying the client", + "schema": { + "$ref": "#/components/schemas/DataWord" + } + } + ], + "result": { + "name": "submitHashRateSuccess", + "description": "whether of not submitting went through successfully", + "schema": { + "type": "boolean" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_submitWork", + "summary": "Used for submitting a proof-of-work solution.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Nonce" + }, + { + "name": "powHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/PowHash" + } + }, + { + "name": "mixHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/MixHash" + } + } + ], + "result": { + "name": "solutionValid", + "description": "returns true if the provided solution is valid, otherwise false.", + "schema": { + "type": "boolean" + } + }, + "examples": [ + { + "name": "submitWorkExample", + "params": [ + { + "name": "nonceExample", + "description": "example of a number only used once", + "value": "0x0000000000000001" + }, + { + "name": "powHashExample", + "description": "proof of work to submit", + "value": "0x6bf2cAE0dE3ec3ecA5E194a6C6e02cf42aADfe1C2c4Fff12E5D36C3Cf7297F22" + }, + { + "name": "mixHashExample", + "description": "the mix digest example", + "value": "0xD1FE5700000000000000000000000000D1FE5700000000000000000000000000" + } + ], + "result": { + "name": "solutionInvalidExample", + "description": "this example should return `false` as it is not a valid pow to submit", + "value": false + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_syncing", + "summary": "Returns an object with data about the sync status or false.", + "params": [], + "result": { + "name": "syncing", + "schema": { + "title": "isSyncingResult", + "oneOf": [ + { + "title": "syncingData", + "description": "An object with sync status data", + "type": "object", + "properties": { + "startingBlock": { + "title": "syncingDataStartingBlock", + "description": "Block at which the import started (will only be reset, after the sync reached his head)", + "$ref": "#/components/schemas/Integer" + }, + "currentBlock": { + "title": "syncingDataCurrentBlock", + "description": "The current block, same as eth_blockNumber", + "$ref": "#/components/schemas/Integer" + }, + "highestBlock": { + "title": "syncingDataHighestBlock", + "description": "The estimated highest block", + "$ref": "#/components/schemas/Integer" + }, + "knownStates": { + "title": "syncingDataKnownStates", + "description": "The known states", + "$ref": "#/components/schemas/Integer" + }, + "pulledStates": { + "title": "syncingDataPulledStates", + "description": "The pulled states", + "$ref": "#/components/schemas/Integer" + } + } + }, + { + "type": "boolean" + } + ] + } + }, + "examples": [ + { + "name": "eth_syncing example", + "params": [], + "result": { + "name": "Syncing status", + "value": { + "startingBlock": "0x0", + "currentBlock": "0x1518", + "highestBlock": "0x9567a3" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_uninstallFilter", + "summary": "Uninstalls a filter with given id. Should always be called when watch is no longer needed. Additionally Filters timeout when they aren't requested with eth_getFilterChanges for a period of time.", + "params": [ + { + "name": "filterId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FilterId" + } + } + ], + "result": { + "name": "filterUninstalledSuccess", + "description": "returns true if the filter was successfully uninstalled, false otherwise.", + "schema": { + "type": "boolean" + } + }, + "examples": [ + { + "name": "eth_uninstallFilter example", + "params": [ + { + "name": "Filter identifier", + "value": "0x01" + } + ], + "result": { + "name": "Success", + "value": true + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "net_listening", + "summary": "eturns listening status", + "description": "Determines if this client is listening for new network connections.", + "params": [], + "result": { + "name": "netListeningResult", + "description": "`true` if listening is active or `false` if listening is not active", + "schema": { + "title": "isNetListening", + "type": "boolean" + } + }, + "examples": [ + { + "name": "netListeningTrueExample", + "description": "example of true result for net_listening", + "params": [], + "result": { + "name": "netListeningExampleFalseResult", + "value": true + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "net_peerCount", + "summary": "number of peers", + "description": "Returns the number of peers currently connected to this client.", + "params": [], + "result": { + "name": "quantity", + "description": "number of connected peers.", + "schema": { + "title": "numConnectedPeers", + "description": "Hex representation of number of connected peers", + "type": "string" + } + }, + "x-cu-cost": 1 + }, + { + "name": "net_version", + "summary": "Network identifier associated with network", + "description": "Returns the network ID associated with the current network.", + "params": [], + "result": { + "name": "networkId", + "description": "Network ID associated with the current network", + "schema": { + "title": "networkId", + "type": "string", + "pattern": "^[\\d]+$" + } + }, + "x-cu-cost": 1 + }, + { + "name": "trace_callMany", + "summary": "Executes multiple call traces on the same block state without committing any state changes.", + "params": [ + { + "name": "calls", + "required": true, + "schema": { + "type": "array", + "minItems": 1, + "items": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": [ + { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + "to": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + "gas": { + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + "gasPrice": { + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + "value": { + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + "data": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]*$" + } + }, + "required": [ + "to" + ] + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "enum": [ + "trace", + "vmTrace", + "stateDiff" + ] + } + } + ] + } + }, + "description": "List of call objects paired with requested trace types" + }, + { + "name": "blockParameter", + "required": true, + "schema": { + "oneOf": [ + { + "type": "string", + "enum": [ + "latest", + "pending" + ] + }, + { + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + } + ] + }, + "description": "Block context used for call execution" + } + ], + "result": { + "name": "results", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "output": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]*$" + }, + "trace": { + "type": "array" + }, + "vmTrace": { + "type": "object" + }, + "stateDiff": { + "type": "object" + } + }, + "additionalProperties": true + } + } + }, + "x-cu-cost": 20 + }, + { + "name": "trace_filter", + "summary": "Returns traces created by transactions within a given block range and address filter.", + "params": [ + { + "name": "filter", + "required": true, + "schema": { + "type": "object", + "properties": { + "fromBlock": { + "type": "string", + "oneOf": [ + { + "enum": [ + "earliest", + "latest", + "pending" + ] + }, + { + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + } + ] + }, + "toBlock": { + "type": "string", + "oneOf": [ + { + "enum": [ + "earliest", + "latest", + "pending" + ] + }, + { + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + } + ] + }, + "fromAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + } + } + ] + }, + "toAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + } + } + ] + }, + "after": { + "type": "integer", + "minimum": 0 + }, + "count": { + "type": "integer", + "minimum": 1 + } + }, + "additionalProperties": false + }, + "description": "Trace filter object" + } + ], + "result": { + "name": "traces", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "action": { + "type": "object" + }, + "result": { + "type": "object" + }, + "traceAddress": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0 + } + }, + "subtraces": { + "type": "integer", + "minimum": 0 + }, + "type": { + "type": "string" + }, + "blockHash": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + "blockNumber": { + "type": "integer", + "minimum": 0 + }, + "transactionHash": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + "transactionPosition": { + "type": "integer", + "minimum": 0 + } + }, + "additionalProperties": true + } + } + }, + "x-cu-cost": 1 + }, + { + "name": "web3_clientVersion", + "description": "Returns the version of the current client", + "summary": "current client version", + "params": [], + "result": { + "name": "clientVersion", + "description": "client version", + "schema": { + "title": "clientVersion", + "type": "string" + } + }, + "x-cu-cost": 1 + }, + { + "name": "web3_sha3", + "summary": "Hashes data", + "description": "Hashes data using the Keccak-256 algorithm", + "params": [ + { + "name": "data", + "description": "data to hash using the Keccak-256 algorithm", + "summary": "data to hash", + "schema": { + "title": "data", + "type": "string", + "pattern": "^0x[a-fA-F\\d]+$" + } + } + ], + "result": { + "name": "hashedData", + "description": "Keccak-256 hash of the given data", + "schema": { + "type": "string", + "description": "Hex representation of a Keccak 256 hash", + "pattern": "^0x[a-fA-F\\d]{64}$" + } + }, + "examples": [ + { + "name": "sha3Example", + "params": [ + { + "name": "sha3ParamExample", + "value": "0x68656c6c6f20776f726c64" + } + ], + "result": { + "name": "sha3ResultExample", + "value": "0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad" + } + } + ], + "x-cu-cost": 1 + } + ], + "components": { + "schemas": { + "ProofNode": { + "title": "proofNode", + "description": "An individual node used to prove a path down a merkle-patricia-tree", + "$ref": "#/components/schemas/Bytes" + }, + "StorageProofKey": { + "title": "storageProofKey", + "description": "The key used to get the storage slot in its account tree.", + "$ref": "#/components/schemas/Integer" + }, + "StorageProof": { + "title": "storageProofSet", + "type": "array", + "description": "Current block header PoW hash.", + "items": { + "title": "storageProof", + "type": "object", + "description": "Object proving a relationship of a storage value to an account's storageHash.", + "properties": { + "key": { + "$ref": "#/components/schemas/StorageProofKey" + }, + "value": { + "title": "storageProofValue", + "description": "The value of the storage slot in its account tree", + "$ref": "#/components/schemas/Integer" + }, + "proof": { + "$ref": "#/components/schemas/ProofNodes" + } + } + } + }, + "StorageKey": { + "title": "Storage Key", + "description": "Keccak-256 hash of a contract storage slot", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + "StorageRangeResult": { + "title": "Storage Range Result", + "description": "Result of a storage range query for a contract", + "type": "object", + "properties": { + "storage": { + "type": "object", + "description": "Mapping of storage slot hash to value", + "additionalProperties": { + "type": "object", + "properties": { + "key": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + "value": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]*$" + } + }, + "required": [ + "key", + "value" + ], + "additionalProperties": false + } + }, + "nextKey": { + "description": "Storage key to use as startKey for the next page", + "oneOf": [ + { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "storage" + ], + "additionalProperties": false + }, + "Quantity": { + "title": "Quantity", + "description": "Hex-encoded unsigned integer, prefixed with 0x, without leading zeroes", + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + "ProofNodes": { + "title": "proofNodes", + "type": "array", + "description": "The set of node values needed to traverse a patricia merkle tree (from root to leaf) to retrieve a value", + "items": { + "$ref": "#/components/schemas/ProofNode" + } + }, + "PowHash": { + "title": "powHash", + "description": "Current block header PoW hash.", + "$ref": "#/components/schemas/DataWord" + }, + "SeedHash": { + "title": "seedHash", + "description": "The seed hash used for the DAG.", + "$ref": "#/components/schemas/DataWord" + }, + "MixHash": { + "title": "mixHash", + "description": "The mix digest.", + "$ref": "#/components/schemas/DataWord" + }, + "Difficulty": { + "title": "difficulty", + "description": "The boundary condition ('target'), 2^256 / difficulty.", + "$ref": "#/components/schemas/DataWord" + }, + "FilterId": { + "title": "filterId", + "type": "string", + "description": "An identifier used to reference the filter." + }, + "BlockHash": { + "title": "blockHash", + "type": "string", + "pattern": "^0x[a-fA-F\\d]{64}$", + "description": "The hex representation of the Keccak 256 of the RLP encoded block" + }, + "BlockNumber": { + "title": "blockNumber", + "type": "string", + "description": "The hex representation of the block's height", + "$ref": "#/components/schemas/Integer" + }, + "BlockNumberTag": { + "title": "blockNumberTag", + "type": "string", + "description": "The optional block height description", + "enum": [ + "earliest", + "latest", + "pending" + ] + }, + "BlockOrNull": { + "title": "blockOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Block" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "IntegerOrNull": { + "title": "integerOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Integer" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "AddressOrNull": { + "title": "addressOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Address" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "Receipt": { + "title": "receipt", + "type": "object", + "description": "The receipt of a transaction", + "required": [ + "blockHash", + "blockNumber", + "contractAddress", + "cumulativeGasUsed", + "from", + "gasUsed", + "logs", + "logsBloom", + "to", + "transactionHash", + "transactionIndex" + ], + "properties": { + "blockHash": { + "$ref": "#/components/schemas/BlockHash" + }, + "blockNumber": { + "$ref": "#/components/schemas/BlockNumber" + }, + "contractAddress": { + "title": "ReceiptContractAddress", + "description": "The contract address created, if the transaction was a contract creation, otherwise null", + "$ref": "#/components/schemas/AddressOrNull" + }, + "cumulativeGasUsed": { + "title": "ReceiptCumulativeGasUsed", + "description": "The gas units used by the transaction", + "$ref": "#/components/schemas/Integer" + }, + "from": { + "$ref": "#/components/schemas/From" + }, + "gasUsed": { + "title": "ReceiptGasUsed", + "description": "The total gas used by the transaction", + "$ref": "#/components/schemas/Integer" + }, + "logs": { + "title": "logs", + "type": "array", + "description": "An array of all the logs triggered during the transaction", + "items": { + "$ref": "#/components/schemas/Log" + } + }, + "logsBloom": { + "$ref": "#/components/schemas/BloomFilter" + }, + "to": { + "$ref": "#/components/schemas/To" + }, + "transactionHash": { + "$ref": "#/components/schemas/TransactionHash" + }, + "transactionIndex": { + "$ref": "#/components/schemas/TransactionIndex" + }, + "postTransactionState": { + "title": "ReceiptPostTransactionState", + "description": "The intermediate stateRoot directly after transaction execution.", + "$ref": "#/components/schemas/Keccak" + }, + "status": { + "title": "ReceiptStatus", + "description": "Whether or not the transaction threw an error.", + "type": "boolean" + } + } + }, + "BloomFilter": { + "title": "bloomFilter", + "type": "string", + "description": "A 2048 bit bloom filter from the logs of the transaction. Each log sets 3 bits though taking the low-order 11 bits of each of the first three pairs of bytes in a Keccak 256 hash of the log's byte series" + }, + "Log": { + "title": "log", + "type": "object", + "description": "An indexed event generated during a transaction", + "properties": { + "address": { + "title": "LogAddress", + "description": "Sender of the transaction", + "$ref": "#/components/schemas/Address" + }, + "blockHash": { + "$ref": "#/components/schemas/BlockHash" + }, + "blockNumber": { + "$ref": "#/components/schemas/BlockNumber" + }, + "data": { + "title": "LogData", + "description": "The data/input string sent along with the transaction", + "$ref": "#/components/schemas/Bytes" + }, + "logIndex": { + "title": "LogIndex", + "description": "The index of the event within its transaction, null when its pending", + "$ref": "#/components/schemas/Integer" + }, + "removed": { + "title": "logIsRemoved", + "description": "Whether or not the log was orphaned off the main chain", + "type": "boolean" + }, + "topics": { + "$ref": "#/components/schemas/Topics" + }, + "transactionHash": { + "$ref": "#/components/schemas/TransactionHash" + }, + "transactionIndex": { + "$ref": "#/components/schemas/TransactionIndex" + } + } + }, + "Topics": { + "title": "LogTopics", + "description": "Topics are order-dependent. Each topic can also be an array of DATA with 'or' options.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Topic" + } + }, + "Topic": { + "title": "topic", + "description": "32 Bytes DATA of indexed log arguments. (In solidity: The first topic is the hash of the signature of the event (e.g. Deposit(address,bytes32,uint256))", + "$ref": "#/components/schemas/DataWord" + }, + "TransactionIndex": { + "title": "transactionIndex", + "description": "The index of the transaction. null when its pending", + "$ref": "#/components/schemas/IntegerOrNull" + }, + "BlockNumberOrNull": { + "title": "blockNumberOrNull", + "description": "The block number or null when its the pending block", + "oneOf": [ + { + "$ref": "#/components/schemas/BlockNumber" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "BlockHashOrNull": { + "title": "blockHashOrNull", + "description": "The block hash or null when its the pending block", + "$ref": "#/components/schemas/KeccakOrPending" + }, + "NonceOrNull": { + "title": "nonceOrNull", + "description": "Randomly selected number to satisfy the proof-of-work or null when its the pending block", + "oneOf": [ + { + "$ref": "#/components/schemas/Nonce" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "From": { + "title": "From", + "description": "The sender of the transaction", + "$ref": "#/components/schemas/Address" + }, + "To": { + "title": "To", + "description": "Destination address of the transaction. Null if it was a contract create.", + "oneOf": [ + { + "$ref": "#/components/schemas/Address" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "Block": { + "title": "Block", + "description": "The Block is the collection of relevant pieces of information (known as the block header), together with information corresponding to the comprised transactions, and a set of other block headers that are known to have a parent equal to the present block’s parent’s parent.", + "type": "object", + "properties": { + "number": { + "$ref": "#/components/schemas/BlockNumberOrNull" + }, + "hash": { + "$ref": "#/components/schemas/BlockHashOrNull" + }, + "parentHash": { + "$ref": "#/components/schemas/BlockHash" + }, + "nonce": { + "$ref": "#/components/schemas/NonceOrNull" + }, + "sha3Uncles": { + "title": "blockShaUncles", + "description": "Keccak hash of the uncles data in the block", + "$ref": "#/components/schemas/Keccak" + }, + "logsBloom": { + "title": "blockLogsBloom", + "type": "string", + "description": "The bloom filter for the logs of the block or null when its the pending block", + "pattern": "^0x[a-fA-F\\d]+$" + }, + "transactionsRoot": { + "title": "blockTransactionsRoot", + "description": "The root of the transactions trie of the block.", + "$ref": "#/components/schemas/Keccak" + }, + "stateRoot": { + "title": "blockStateRoot", + "description": "The root of the final state trie of the block", + "$ref": "#/components/schemas/Keccak" + }, + "receiptsRoot": { + "title": "blockReceiptsRoot", + "description": "The root of the receipts trie of the block", + "$ref": "#/components/schemas/Keccak" + }, + "miner": { + "$ref": "#/components/schemas/AddressOrNull" + }, + "difficulty": { + "title": "blockDifficulty", + "type": "string", + "description": "Integer of the difficulty for this block" + }, + "totalDifficulty": { + "title": "blockTotalDifficulty", + "description": "Integer of the total difficulty of the chain until this block", + "$ref": "#/components/schemas/IntegerOrNull" + }, + "extraData": { + "title": "blockExtraData", + "type": "string", + "description": "The 'extra data' field of this block" + }, + "size": { + "title": "blockSize", + "type": "string", + "description": "Integer the size of this block in bytes" + }, + "gasLimit": { + "title": "blockGasLimit", + "type": "string", + "description": "The maximum gas allowed in this block" + }, + "gasUsed": { + "title": "blockGasUsed", + "type": "string", + "description": "The total used gas by all transactions in this block" + }, + "timestamp": { + "title": "blockTimeStamp", + "type": "string", + "description": "The unix timestamp for when the block was collated" + }, + "transactions": { + "title": "transactionsOrHashes", + "description": "Array of transaction objects, or 32 Bytes transaction hashes depending on the last given parameter", + "type": "array", + "items": { + "title": "transactionOrTransactionHash", + "oneOf": [ + { + "$ref": "#/components/schemas/Transaction" + }, + { + "$ref": "#/components/schemas/TransactionHash" + } + ] + } + }, + "uncles": { + "title": "uncleHashes", + "description": "Array of uncle hashes", + "type": "array", + "items": { + "title": "uncleHash", + "description": "Block hash of the RLP encoding of an uncle block", + "$ref": "#/components/schemas/Keccak" + } + } + } + }, + "Transaction": { + "title": "transaction", + "type": "object", + "required": [ + "gas", + "gasPrice", + "nonce" + ], + "properties": { + "blockHash": { + "$ref": "#/components/schemas/BlockHashOrNull" + }, + "blockNumber": { + "$ref": "#/components/schemas/BlockNumberOrNull" + }, + "from": { + "$ref": "#/components/schemas/From" + }, + "gas": { + "title": "transactionGas", + "type": "string", + "description": "The gas limit provided by the sender in Wei" + }, + "gasPrice": { + "title": "transactionGasPrice", + "type": "string", + "description": "The gas price willing to be paid by the sender in Wei" + }, + "hash": { + "$ref": "#/components/schemas/TransactionHash" + }, + "input": { + "title": "transactionInput", + "type": "string", + "description": "The data field sent with the transaction" + }, + "nonce": { + "title": "transactionNonce", + "description": "The total number of prior transactions made by the sender", + "$ref": "#/components/schemas/Nonce" + }, + "to": { + "$ref": "#/components/schemas/To" + }, + "transactionIndex": { + "$ref": "#/components/schemas/TransactionIndex" + }, + "value": { + "title": "transactionValue", + "description": "Value of Ether being transferred in Wei", + "$ref": "#/components/schemas/Keccak" + }, + "v": { + "title": "transactionSigV", + "type": "string", + "description": "ECDSA recovery id" + }, + "r": { + "title": "transactionSigR", + "type": "string", + "description": "ECDSA signature r" + }, + "s": { + "title": "transactionSigS", + "type": "string", + "description": "ECDSA signature s" + } + } + }, + "Transactions": { + "title": "transactions", + "description": "An array of transactions", + "type": "array", + "items": { + "$ref": "#/components/schemas/Transaction" + } + }, + "TransactionHash": { + "title": "transactionHash", + "type": "string", + "description": "Keccak 256 Hash of the RLP encoding of a transaction", + "$ref": "#/components/schemas/Keccak" + }, + "KeccakOrPending": { + "title": "keccakOrPending", + "oneOf": [ + { + "$ref": "#/components/schemas/Keccak" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "Keccak": { + "title": "keccak", + "type": "string", + "description": "Hex representation of a Keccak 256 hash", + "pattern": "^0x[a-fA-F\\d]{64}$" + }, + "Nonce": { + "title": "nonce", + "description": "A number only to be used once", + "$ref": "#/components/schemas/Integer" + }, + "Null": { + "title": "null", + "type": "null", + "description": "Null" + }, + "Integer": { + "title": "integer", + "type": "string", + "pattern": "^0x[a-fA-F0-9]+$", + "description": "Hex representation of the integer" + }, + "Address": { + "title": "address", + "type": "string", + "pattern": "^0x[a-fA-F\\d]{40}$" + }, + "Addresses": { + "title": "addresses", + "type": "array", + "description": "List of contract addresses from which to monitor events", + "items": { + "$ref": "#/components/schemas/Address" + } + }, + "Position": { + "title": "position", + "type": "string", + "description": "Hex representation of the storage slot where the variable exists", + "pattern": "^0x([a-fA-F0-9]?)+$" + }, + "DataWord": { + "title": "dataWord", + "type": "string", + "description": "Hex representation of a 256 bit unit of data", + "pattern": "^0x([a-fA-F\\d]{64})?$" + }, + "Bytes": { + "title": "bytes", + "type": "string", + "description": "Hex representation of a variable length byte array", + "pattern": "^0x([a-fA-F0-9]?)+$" + } + }, + "contentDescriptors": { + "Block": { + "name": "block", + "summary": "A block", + "description": "A block object", + "schema": { + "$ref": "#/components/schemas/Block" + } + }, + "Null": { + "name": "Null", + "description": "JSON Null value", + "summary": "Null value", + "schema": { + "$ref": "#/components/schemas/Null" + } + }, + "Signature": { + "name": "signature", + "summary": "The signature.", + "required": true, + "schema": { + "title": "signatureBytes", + "type": "string", + "description": "Hex representation of byte array between 2 and 65 chars long", + "pattern": "0x^([A-Fa-f0-9]{2}){65}$" + } + }, + "GasPrice": { + "name": "gasPrice", + "required": true, + "schema": { + "title": "gasPriceResult", + "description": "Integer of the current gas price", + "$ref": "#/components/schemas/Integer" + } + }, + "Transaction": { + "required": true, + "name": "transaction", + "schema": { + "$ref": "#/components/schemas/Transaction" + } + }, + "TransactionResult": { + "name": "transactionResult", + "description": "Returns a transaction or null", + "schema": { + "title": "TransactionOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Transaction" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + } + }, + "UncleCountResult": { + "name": "uncleCountResult", + "description": "The Number of total uncles in the given block", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "Message": { + "name": "message", + "required": true, + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "Filter": { + "name": "filter", + "required": true, + "schema": { + "title": "filter", + "type": "object", + "description": "A filter used to monitor the blockchain for log/events", + "properties": { + "fromBlock": { + "$ref": "#/components/schemas/BlockNumber" + }, + "toBlock": { + "$ref": "#/components/schemas/BlockNumber" + }, + "address": { + "title": "oneOrArrayOfAddresses", + "oneOf": [ + { + "$ref": "#/components/schemas/Address" + }, + { + "$ref": "#/components/schemas/Addresses" + } + ] + }, + "topics": { + "$ref": "#/components/schemas/Topics" + } + } + } + }, + "Address": { + "name": "address", + "required": true, + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + "BlockHash": { + "name": "blockHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/BlockHash" + } + }, + "Nonce": { + "name": "nonce", + "required": true, + "schema": { + "$ref": "#/components/schemas/Nonce" + } + }, + "Position": { + "name": "key", + "required": true, + "schema": { + "$ref": "#/components/schemas/Position" + } + }, + "Logs": { + "name": "logs", + "description": "An array of all logs matching filter with given id.", + "schema": { + "title": "setOfLogs", + "type": "array", + "items": { + "$ref": "#/components/schemas/Log" + } + } + }, + "FilterId": { + "name": "filterId", + "schema": { + "$ref": "#/components/schemas/FilterId" + } + }, + "BlockNumber": { + "name": "blockNumber", + "required": true, + "schema": { + "title": "blockNumberOrTag", + "oneOf": [ + { + "$ref": "#/components/schemas/BlockNumber" + }, + { + "$ref": "#/components/schemas/BlockNumberTag" + } + ] + } + }, + "TransactionHash": { + "name": "transactionHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/TransactionHash" + } + } + } + } +} \ No newline at end of file diff --git a/base/json-rpc/CHANGELOG.md b/base/json-rpc/CHANGELOG.md new file mode 100644 index 0000000..f5da639 --- /dev/null +++ b/base/json-rpc/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +All notable changes to this schema are documented in this file. + +The format is based on [Keep a ChangeLog](https://keepachangelog.com/) and follows [Semantic Versioning](https://semver.org/) + +## [0.0.1] - 2026-02-25 + +### Added + +- Initial version of the spec diff --git a/base/json-rpc/VERSION b/base/json-rpc/VERSION new file mode 100644 index 0000000..8a9ecc2 --- /dev/null +++ b/base/json-rpc/VERSION @@ -0,0 +1 @@ +0.0.1 \ No newline at end of file diff --git a/base/json-rpc/openrpc.json b/base/json-rpc/openrpc.json new file mode 100644 index 0000000..b188b77 --- /dev/null +++ b/base/json-rpc/openrpc.json @@ -0,0 +1,3248 @@ +{ + "openrpc": "1.2.4", + "info": { + "title": "Base JSON-RPC Specification", + "description": "A specification of the Base execution JSON-RPC API provided by Chain.Love platform.", + "version": "0.0.1", + "contact": { + "name": "devs", + "email": "devs@chain.love" + } + }, + "methods": [ + { + "name": "debug_storageRangeAt", + "summary": "Returns a range of storage entries for a contract at a specific point in a block.", + "params": [ + { + "name": "blockHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/BlockHash" + }, + "description": "Block hash at which the storage is inspected" + }, + { + "name": "txIndex", + "required": true, + "schema": { + "$ref": "#/components/schemas/TransactionIndex" + }, + "description": "Transaction index within the block used to select the execution state" + }, + { + "name": "address", + "required": true, + "schema": { + "$ref": "#/components/schemas/Address" + }, + "description": "Contract address whose storage is queried" + }, + { + "name": "startKey", + "required": true, + "schema": { + "$ref": "#/components/schemas/StorageKey" + }, + "description": "Starting storage key (hashed) from which to begin the range" + }, + { + "name": "limit", + "required": true, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/Quantity" + }, + { + "type": "integer", + "minimum": 0 + } + ] + }, + "description": "Maximum number of storage entries to return" + } + ], + "result": { + "name": "storageRange", + "schema": { + "$ref": "#/components/schemas/StorageRangeResult" + } + }, + "x-cu-cost": 20 + }, + { + "name": "eth_blockNumber", + "summary": "Returns the number of most recent block.", + "params": [], + "result": { + "$ref": "#/components/contentDescriptors/BlockNumber" + }, + "examples": [ + { + "name": "eth_blockNumber example", + "params": [], + "result": { + "name": "Block number", + "value": "0x2377" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_call", + "summary": "Executes a new message call (locally) immediately without creating a transaction on the block chain.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Transaction" + }, + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "returnValue", + "description": "The return value of the executed contract", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_call example", + "params": [ + { + "name": "Transaction", + "value": { + "to": "0x69498dd54bd25aa0c886cf1f8b8ae0856d55ff13", + "value": "0x1" + } + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Return data", + "value": "0x" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_chainId", + "summary": "Returns the currently configured chain id", + "description": "Returns the currently configured chain id, a value used in replay-protected transaction signing as introduced by [EIP-155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md).", + "params": [], + "result": { + "name": "chainId", + "description": "hex format integer of the current chain id. Defaults are ETC=61, ETH=1, Morden=62.", + "schema": { + "title": "chainId", + "type": "string", + "pattern": "^0x[a-fA-F\\d]+$" + } + }, + "examples": [ + { + "name": "eth_chainId example", + "params": [], + "result": { + "name": "Chain ID", + "value": "0x1" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_coinbase", + "summary": "Returns the client coinbase address.", + "params": [], + "result": { + "name": "address", + "description": "The address owned by the client that is used as default for things like the mining reward", + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + "examples": [ + { + "name": "eth_coinbase example", + "params": [], + "result": { + "name": "Coinbase address", + "value": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_estimateGas", + "summary": "Generates and returns an estimate of how much gas is necessary to allow the transaction to complete. The transaction will not be added to the blockchain. Note that the estimate may be significantly more than the amount of gas actually used by the transaction, for a variety of reasons including EVM mechanics and node performance.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Transaction" + } + ], + "result": { + "name": "gasUsed", + "description": "The amount of gas used", + "schema": { + "$ref": "#/components/schemas/Integer" + } + }, + "examples": [ + { + "name": "eth_estimateGas example", + "params": [ + { + "name": "Transaction", + "value": { + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "to": "0x44aa93095d6749a706051658b970b941c72c1d53", + "value": "0x1" + } + } + ], + "result": { + "name": "Gas used", + "value": "0x5208" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_gasPrice", + "summary": "Returns the current price per gas in wei", + "params": [], + "result": { + "$ref": "#/components/contentDescriptors/GasPrice" + }, + "examples": [ + { + "name": "eth_gasPrice example", + "params": [], + "result": { + "name": "Gas price", + "value": "0x3e8" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBalance", + "summary": "Returns Ether balance of a given or account or contract", + "params": [ + { + "name": "address", + "required": true, + "description": "The address of the account or contract", + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + { + "name": "blockNumber", + "description": "A BlockNumber at which to request the balance", + "schema": { + "$ref": "#/components/schemas/BlockNumber" + } + } + ], + "result": { + "name": "getBalanceResult", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "examples": [ + { + "name": "eth_getBalance example", + "params": [ + { + "name": "Address", + "value": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73" + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Balance", + "value": "0x1cfe56f3795885980000" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockByHash", + "summary": "Gets a block for a given hash", + "params": [ + { + "name": "blockHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/BlockHash" + } + }, + { + "name": "includeTransactions", + "description": "If `true` it returns the full transaction objects, if `false` only the hashes of the transactions.", + "required": true, + "schema": { + "title": "isTransactionsIncluded", + "type": "boolean" + } + } + ], + "result": { + "name": "getBlockByHashResult", + "schema": { + "$ref": "#/components/schemas/BlockOrNull" + } + }, + "examples": [ + { + "name": "eth_getBlockByHash example", + "params": [ + { + "name": "Block hash", + "value": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c" + }, + { + "name": "Hydrated transactions", + "value": false + } + ], + "result": { + "name": "Block information", + "value": { + "number": "0x68b3", + "hash": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c", + "mixHash": "0x24900fb3da77674a861c428429dce0762707ecb6052325bbd9b3c64e74b5af9d", + "parentHash": "0x1f68ac259155e2f38211ddad0f0a15394d55417b185a93923e2abe71bb7a4d6d", + "nonce": "0x378da40ff335b070", + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "logsBloom": "0x00000000000000100000004080000000000500000000000000020000100000000800001000000004000001000000000000000800040010000020100000000400000010000000000000000040000000000000040000000000000000000000000000000400002400000000000000000000000000000004000004000000000000840000000800000080010004000000001000000800000000000000000000000000000000000800000000000040000000020000000000000000000800000400000000000000000000000600000400000000002000000000000000000000004000000000000000100000000000000000000000000000000000040000900010000000", + "transactionsRoot": "0x4d0c8e91e16bdff538c03211c5c73632ed054d00a7e210c0eb25146c20048126", + "stateRoot": "0x91309efa7e42c1f137f31fe9edbe88ae087e6620d0d59031324da3e2f4f93233", + "receiptsRoot": "0x68461ab700003503a305083630a8fb8d14927238f0bc8b6b3d246c0c64f21f4a", + "miner": "0xb42b6c4a95406c78ff892d270ad20b22642e102d", + "difficulty": "0x66e619a", + "totalDifficulty": "0x1e875d746ae", + "extraData": "0xd583010502846765746885676f312e37856c696e7578", + "size": "0x334", + "gasLimit": "0x47e7c4", + "gasUsed": "0x37993", + "timestamp": "0x5835c54d", + "uncles": [], + "transactions": [ + "0xa0807e117a8dd124ab949f460f08c36c72b710188f01609595223b325e58e0fc", + "0xeae6d797af50cb62a596ec3939114d63967c374fa57de9bc0f4e2b576ed6639d" + ], + "baseFeePerGas": "0x7", + "withdrawalsRoot": "0x7a4ecf19774d15cf9c15adf0dd8e8a250c128b26c9e2ab2a08d6c9c8ffbd104f", + "withdrawals": [ + { + "index": "0x0", + "validatorIndex": "0x9d8c0", + "address": "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "amount": "0x11a33e3760" + } + ], + "blobGasUsed": "0x0", + "excessBlobGas": "0x0", + "parentBeaconBlockRoot": "0x95c4dbd5b19f6fe3cbc3183be85ff4e85ebe75c5b4fc911f1c91e5b7a554a685" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockByNumber", + "summary": "Gets a block for a given number", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + }, + { + "name": "includeTransactions", + "description": "If `true` it returns the full transaction objects, if `false` only the hashes of the transactions.", + "required": true, + "schema": { + "title": "isTransactionsIncluded", + "type": "boolean" + } + } + ], + "result": { + "name": "getBlockByNumberResult", + "schema": { + "$ref": "#/components/schemas/BlockOrNull" + } + }, + "examples": [ + { + "name": "eth_getBlockByNumber example", + "params": [ + { + "name": "block", + "value": "0x68b3" + }, + { + "name": "Hydrated transactions", + "value": false + } + ], + "result": { + "name": "Block information", + "value": { + "number": "0x68b3", + "hash": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c", + "mixHash": "0x24900fb3da77674a861c428429dce0762707ecb6052325bbd9b3c64e74b5af9d", + "parentHash": "0x1f68ac259155e2f38211ddad0f0a15394d55417b185a93923e2abe71bb7a4d6d", + "nonce": "0x378da40ff335b070", + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "logsBloom": "0x00000000000000100000004080000000000500000000000000020000100000000800001000000004000001000000000000000800040010000020100000000400000010000000000000000040000000000000040000000000000000000000000000000400002400000000000000000000000000000004000004000000000000840000000800000080010004000000001000000800000000000000000000000000000000000800000000000040000000020000000000000000000800000400000000000000000000000600000400000000002000000000000000000000004000000000000000100000000000000000000000000000000000040000900010000000", + "transactionsRoot": "0x4d0c8e91e16bdff538c03211c5c73632ed054d00a7e210c0eb25146c20048126", + "stateRoot": "0x91309efa7e42c1f137f31fe9edbe88ae087e6620d0d59031324da3e2f4f93233", + "receiptsRoot": "0x68461ab700003503a305083630a8fb8d14927238f0bc8b6b3d246c0c64f21f4a", + "miner": "0xb42b6c4a95406c78ff892d270ad20b22642e102d", + "difficulty": "0x66e619a", + "totalDifficulty": "0x1e875d746ae", + "extraData": "0xd583010502846765746885676f312e37856c696e7578", + "size": "0x334", + "gasLimit": "0x47e7c4", + "gasUsed": "0x37993", + "timestamp": "0x5835c54d", + "uncles": [], + "transactions": [ + "0xa0807e117a8dd124ab949f460f08c36c72b710188f01609595223b325e58e0fc", + "0xeae6d797af50cb62a596ec3939114d63967c374fa57de9bc0f4e2b576ed6639d" + ], + "baseFeePerGas": "0x7", + "withdrawalsRoot": "0x7a4ecf19774d15cf9c15adf0dd8e8a250c128b26c9e2ab2a08d6c9c8ffbd104f", + "withdrawals": [ + { + "index": "0x0", + "validatorIndex": "0x9d8c0", + "address": "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "amount": "0x11a33e3760" + } + ], + "blobGasUsed": "0x0", + "excessBlobGas": "0x0", + "parentBeaconBlockRoot": "0x95c4dbd5b19f6fe3cbc3183be85ff4e85ebe75c5b4fc911f1c91e5b7a554a685" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockReceipts", + "summary": "Returns the receipts of a block by number or hash.", + "params": [ + { + "name": "Block", + "required": true, + "schema": { + "title": "Block number, tag, or block hash", + "anyOf": [ + { + "title": "Block number", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + { + "title": "Block tag", + "type": "string", + "enum": [ + "earliest", + "finalized", + "safe", + "latest", + "pending" + ], + "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error" + }, + { + "title": "Block hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + } + ] + } + } + ], + "result": { + "name": "Receipts information", + "schema": { + "oneOf": [ + { + "title": "Not Found (null)", + "type": "null" + }, + { + "title": "Receipts information", + "type": "array", + "items": { + "type": "object", + "title": "Receipt information", + "required": [ + "blockHash", + "blockNumber", + "from", + "cumulativeGasUsed", + "gasUsed", + "logs", + "logsBloom", + "transactionHash", + "transactionIndex", + "effectiveGasPrice" + ], + "additionalProperties": false, + "properties": { + "type": { + "title": "type", + "type": "string", + "pattern": "^0x([0-9a-fA-F]?){1,2}$" + }, + "transactionHash": { + "title": "transaction hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + }, + "transactionIndex": { + "title": "transaction index", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "blockHash": { + "title": "block hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + }, + "blockNumber": { + "title": "block number", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "from": { + "title": "from", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + "to": { + "title": "to", + "description": "Address of the receiver or null in a contract creation transaction.", + "oneOf": [ + { + "title": "Contract Creation (null)", + "type": "null" + }, + { + "title": "Recipient Address", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + } + ] + }, + "cumulativeGasUsed": { + "title": "cumulative gas used", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The sum of gas used by this transaction and all preceding transactions in the same block." + }, + "gasUsed": { + "title": "gas used", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The amount of gas used for this specific transaction alone." + }, + "blobGasUsed": { + "title": "blob gas used", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The amount of blob gas used for this specific transaction. Only specified for blob transactions as defined by EIP-4844." + }, + "contractAddress": { + "title": "contract address", + "description": "The contract address created, if the transaction was a contract creation, otherwise null.", + "oneOf": [ + { + "title": "hex encoded address", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + { + "title": "Null", + "type": "null" + } + ] + }, + "logs": { + "title": "logs", + "type": "array", + "items": { + "title": "log", + "type": "object", + "required": [ + "transactionHash" + ], + "additionalProperties": false, + "properties": { + "removed": { + "title": "removed", + "type": "boolean" + }, + "logIndex": { + "title": "log index", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "transactionIndex": { + "title": "transaction index", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "transactionHash": { + "title": "transaction hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + }, + "blockHash": { + "title": "block hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + }, + "blockNumber": { + "title": "block number", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "address": { + "title": "address", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + "data": { + "title": "data", + "type": "string", + "pattern": "^0x[0-9a-f]*$" + }, + "topics": { + "title": "topics", + "type": "array", + "items": { + "title": "32 hex encoded bytes", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + } + } + } + } + }, + "logsBloom": { + "title": "logs bloom", + "type": "string", + "pattern": "^0x[0-9a-f]{512}$" + }, + "root": { + "title": "state root", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$", + "description": "The post-transaction state root. Only specified for transactions included before the Byzantium upgrade." + }, + "status": { + "title": "status", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "Either 1 (success) or 0 (failure). Only specified for transactions included after the Byzantium upgrade." + }, + "effectiveGasPrice": { + "title": "effective gas price", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The actual value per gas deducted from the sender's account. Before EIP-1559, this is equal to the transaction's gas price. After, it is equal to baseFeePerGas + min(maxFeePerGas - baseFeePerGas, maxPriorityFeePerGas)." + }, + "blobGasPrice": { + "title": "blob gas price", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The actual value per gas deducted from the sender's account for blob gas. Only specified for blob transactions as defined by EIP-4844." + } + } + } + } + ] + } + }, + "examples": [ + { + "name": "eth_getBlockReceipts example", + "params": [ + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Receipts information", + "value": [ + { + "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182", + "blockNumber": "0x6f55", + "contractAddress": null, + "cumulativeGasUsed": "0x18c36", + "from": "0x22896bfc68814bfd855b1a167255ee497006e730", + "gasUsed": "0x18c36", + "blobGasUsed": "0x20000", + "effectiveGasPrice": "0x9502f907", + "blobGasPrice": "0x32", + "logs": [ + { + "address": "0xfd584430cafa2f451b4e2ebcf3986a21fff04350", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x4be29e0e4eb91f98f709d98803cba271592782e293b84a625e025cbb40197ba8", + "0x000000000000000000000000835281a2563db4ebf1b626172e085dc406bfc7d2", + "0x00000000000000000000000022896bfc68814bfd855b1a167255ee497006e730" + ], + "data": "0x", + "blockNumber": "0x6f55", + "transactionHash": "0x4a481e4649da999d92db0585c36cba94c18a33747e95dc235330e6c737c6f975", + "transactionIndex": "0x0", + "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000080020000000000000200010000000000000000000001000000800000000000000000000000000000000000000000000000000000100100000000000000000000008000000000000000000000000000000002000000000000000000000", + "status": "0x1", + "to": "0xfd584430cafa2f451b4e2ebcf3986a21fff04350", + "transactionHash": "0x4a481e4649da999d92db0585c36cba94c18a33747e95dc235330e6c737c6f975", + "transactionIndex": "0x0", + "type": "0x0" + }, + { + "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182", + "blockNumber": "0x6f55", + "contractAddress": null, + "cumulativeGasUsed": "0x1de3e", + "from": "0x712e3a792c974b3e3dbe41229ad4290791c75a82", + "gasUsed": "0x5208", + "blobGasUsed": "0x20000", + "effectiveGasPrice": "0x9502f907", + "blobGasPrice": "0x32", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xd42e2b1c14d02f1df5369a9827cb8e6f3f75f338", + "transactionHash": "0xefb83b4e3f1c317e8da0f8e2fbb2fe964f34ee184466032aeecac79f20eacaf6", + "transactionIndex": "0x1", + "type": "0x2" + } + ] + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockTransactionCountByHash", + "summary": "Returns the number of transactions in a block from a block matching the given block hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + } + ], + "result": { + "name": "blockTransactionCountByHash", + "description": "The Number of total transactions in the given block", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "examples": [ + { + "name": "eth_getBlockTransactionCountByHash example", + "params": [ + { + "name": "Block hash", + "value": "0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238" + } + ], + "result": { + "name": "Transaction count", + "value": "0x8" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockTransactionCountByNumber", + "summary": "Returns the number of transactions in a block from a block matching the given block number.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "blockTransactionCountByHash", + "description": "The Number of total transactions in the given block", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "examples": [ + { + "name": "eth_getBlockTransactionCountByNumber example", + "params": [ + { + "name": "Block", + "value": "0xe8" + } + ], + "result": { + "name": "Transaction count", + "value": "0x8" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getCode", + "summary": "Returns code at a given contract address", + "params": [ + { + "name": "address", + "required": true, + "description": "The address of the contract", + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + { + "name": "blockNumber", + "description": "A BlockNumber of which the code existed", + "schema": { + "$ref": "#/components/schemas/BlockNumber" + } + } + ], + "result": { + "name": "bytes", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_getCode example", + "params": [ + { + "name": "Address", + "value": "0xa50a51c09a5c451c52bb714527e1974b686d8e77" + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Bytecode", + "value": "0x60806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633fa4f2458114604d57806355241077146071575b600080fd5b348015605857600080fd5b50605f6088565b60408051918252519081900360200190f35b348015607c57600080fd5b506086600435608e565b005b60005481565b60008190556040805182815290517f199cd93e851e4c78c437891155e2112093f8f15394aa89dab09e38d6ca0727879181900360200190a1505600a165627a7a723058209d8929142720a69bde2ab3bfa2da6217674b984899b62753979743c0470a2ea70029" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getFilterChanges", + "summary": "Polling method for a filter, which returns an array of logs which occurred since last poll.", + "params": [ + { + "name": "filterId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FilterId" + } + } + ], + "result": { + "name": "logResult", + "schema": { + "title": "logResult", + "type": "array", + "items": { + "$ref": "#/components/schemas/Log" + } + } + }, + "examples": [ + { + "name": "eth_getFilterChanges example", + "params": [ + { + "name": "Filter identifier", + "value": "0x01" + } + ], + "result": { + "name": "Log objects", + "value": [ + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x233", + "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5", + "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000004", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + }, + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x238", + "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed", + "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000007", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + } + ] + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getFilterLogs", + "summary": "Returns an array of all logs matching filter with given id.", + "params": [ + { + "name": "filterId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FilterId" + } + } + ], + "result": { + "$ref": "#/components/contentDescriptors/Logs" + }, + "examples": [ + { + "name": "eth_getFilterLogs example", + "params": [ + { + "name": "Filter identifier", + "value": "0x01" + } + ], + "result": { + "name": "Log objects", + "value": [ + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x233", + "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5", + "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000004", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + }, + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x238", + "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed", + "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000007", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + } + ] + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getLogs", + "summary": "Returns an array of all logs matching a given filter object.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Filter" + } + ], + "result": { + "$ref": "#/components/contentDescriptors/Logs" + }, + "examples": [ + { + "name": "eth_getLogs example", + "params": [ + { + "name": "Filter", + "value": { + "fromBlock": "0x137d3c2", + "toBlock": "0x137d3c3", + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [] + } + } + ], + "result": { + "name": "Log objects", + "value": [ + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x233", + "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5", + "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000004", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + }, + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x238", + "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed", + "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000007", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + } + ] + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getProof", + "summary": "Returns the account- and storage-values of the specified account including the Merkle-proof.", + "params": [ + { + "name": "address", + "description": "The address of the account or contract", + "required": true, + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + { + "name": "storageKeys", + "required": true, + "schema": { + "title": "storageKeys", + "description": "A storage key is indexed from the solidity compiler by the order it is declared. For mappings it uses the keccak of the mapping key with its position (and recursively for X-dimensional mappings)", + "items": { + "$ref": "#/components/schemas/StorageProofKey" + } + } + }, + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "account", + "schema": { + "title": "proofAccountOrNull", + "oneOf": [ + { + "title": "proofAccount", + "type": "object", + "description": "The merkle proofs of the specified account connecting them to the blockhash of the block specified", + "properties": { + "address": { + "title": "proofAccountAddress", + "description": "The address of the account or contract of the request", + "$ref": "#/components/schemas/Address" + }, + "accountProof": { + "$ref": "#/components/schemas/ProofNodes" + }, + "balance": { + "title": "proofAccountBalance", + "description": "The Ether balance of the account or contract of the request", + "$ref": "#/components/schemas/Integer" + }, + "codeHash": { + "title": "proofAccountCodeHash", + "description": "The code hash of the contract of the request (keccak(NULL) if external account)", + "$ref": "#/components/schemas/Keccak" + }, + "nonce": { + "title": "proofAccountNonce", + "description": "The transaction count of the account or contract of the request", + "$ref": "#/components/schemas/Nonce" + }, + "storageHash": { + "title": "proofAccountStorageHash", + "description": "The storage hash of the contract of the request (keccak(rlp(NULL)) if external account)", + "$ref": "#/components/schemas/Keccak" + }, + "storageProof": { + "$ref": "#/components/schemas/StorageProof" + } + } + }, + { + "$ref": "#/components/schemas/Null" + } + ] + } + }, + "examples": [ + { + "name": "eth_getProof example", + "params": [ + { + "name": "Address", + "value": "0xe5cB067E90D5Cd1F8052B83562Ae670bA4A211a8" + }, + { + "name": "StorageKeys", + "value": [ + "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421" + ] + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Account", + "value": { + "accountProof": [ + "0xf90211a06a718c2c9da77c253b12d7b2569657901e37bb691718f5dda1b86157ab1dd5eda0e7f19ed5e21bccc8d3260236b24f80ad88b3634f5d005f37b838881f0e12f1bda0abb301291704e4d92686c0f5f8ebb1734185321559b8d717ffdca95c99591976a0d0c2026bfab65c3b95276bfa82af9dec860b485f8857f293c148d63a2182128fa0c98044ec9a1273a218bed58b478277dd39173ad7b8edb95c200423a6bc8fc25fa056e5a55d9ddccdbf49362857200bbb1f042d61187c9f5f9ddcff5d2f1fc984a2a02a5b7200af424114f99a4b5f0a21c19aac82209e431ed80bfde177adb1004bdfa0026e4374f0518ff44a80fa374838ecb86cc64ac93bb710fea6dff4198f947b27a03fea341d87984673ad523177ed52f278bf4d8f97e6531c8ece932aeede4802f4a0bfe2f4a7fcb78f7e9f080dea7b6977fb1d88c441696e4456dad92b9d34ff0f43a02a3eb5c0edb14626c9c629601027bd60178bb2b688a67cea4d179fc432436615a0747355b8e02f3b884b4ffe5cea1619e32515fea064cca98208591af8c744e894a0874253737bae37f020ad3bb7e3292c7c4a63cdc158af6b33aaa4deaef016dccba03d8192bc1fc6aa1548912e763a0b5013a94399cefad7b47cf388873b2b794068a09b67f9737c6028d796bfd1c5da57a6f45824dc891f848ea0e1f8019d1fb5fba8a0aa871f9de8da85960fcd8a22cdf21c27f11e3966c14a6737ffd414b98dda00b280", + "0xf90211a0d360be1e1da1a0c32bc4c105833bd531e59d110684007b7c50fb2709002973eca0cf6dd1e350a7031b4e2ab49c899fd8bd47551c8565d8fd8d1d7796c83820c3b1a0eb0a88c29bb33989a589156f7bf07d9efc74034dd9d3f5b73385c3b45c3249bea02783c25f97a6ddb8dc07adf4b176991836d39184b1f678adeda832fff15e3664a00a4e288060045e587774d8a64993a7add73068b16863145e1e8eeb4602e18e19a0340851f4046ad1298962d6e47d05c66329549c839c158748aaad7ae00b943aefa085b127bc2a3bd17604283de21b2b3c9aa8f1d4b7b85c94d8105a46fe32c77688a00f531d62b3c5435324c01009c284fe31277e8d38302b75ea01be89f09e205969a00011c8351c0e3d639ac54b9d3a59de630b16a67de8270d7d6064d0a67e93f9cca048780d32b7f2db88650b51c46f46fd0a68795edee1fd5ecee6eb3595741d9669a0c91afd74eaf8e08a997061a62b354e2516fdc494e8e26cc50ceeb8f4a175608ba0e2c07f1b48fab80eecb340f5882e8c7b32ee416e4045c61f1df646a133487303a01a1eff78435a7a29a29463bdc3486ae81364b00bea82ba0fdf67a110770f2261a04f2eb440ba71c72da5fd7f0e439018d6671dc809f747213a1ea755848124e994a074ff9f37fce99daa3ed01dd763076450022996fc729be2cc43c61ec5182c2366a0b80b36b7b621112592f52390b89748d422e9b1517c4b0203b8176a53f89d4a6680", + "0xf90211a0b25f283bd01a8c8b2418049f9585bc37ff2c1e2e12eab4b7f64ae1f26647389aa02ad96c150d7c3c9c194d30315456852cf6a0a940e0191ae5d04007454823d4e9a0b220cf7a855e2dbcc0b973134e2e119b982d7d40dbb1b27d99816c41f40e829aa049224431da84cbf1b7ae813abcc9ef4c1dfc1760f6ddc5d57f7354bf3cbf6cc4a015191f879ac115b362f0257fd3eedb789537e836574a5b1abf1c9982ebe3bdfea07913c1b6e7282569d2d421e9fa2257f5d1698e93303bc49b941704287d7aaefea0a526576981ce6fd9f2bd48dd2ca6d5272f2fbdc85f0ee35a295f6ccd97ae8765a0313fad407f0c737c29024c02a890c4ecc12d7771c05ab7b435e5087a7cdef4d9a0d2044603cba9d4afdaf6fd2470e729ef3a65242de71276f20d59accfa6b53a7ca0457caacb9370c09b15f7d904adefd2308be94e23669ba5f43241ffff5f438a0aa09fb2dd45a383a0cc088a72b14117e1e9b7d6889218f3ac7631e8de644c5cb76da0c675dcd4d3fb692b514851c6106e2b09e6f5661d56a0a32ae02e2efc1515c235a074949a59ff1bdba87548510d6e404ec4532f4456dfdec8e753d92fda11a3088ba0a328c6ab1ab8f70db4d23e95bb163c13ba0c508f063a5b1393a4efd7ff375f05a0c722fe3ce796998269373cbb2fc229b2bdf2c43c6c2df003309422e043ce6c03a024e69343286eec44fa4744f6907209116e5383cff3fa98fe81ba06e7e8d4366680", + "0xf90211a00e99ba2198124b8241ea304551fe973215829e2fbc0438d67922707a2a847432a0bb9ce24fd527879c5fe6dbbec1ef5a05ed9d1ca88e921d140bafbec1112f6a6aa099787fd6c7a1989229c4291ef5267335e66152ce417daea46e66d19cb6f81d1ca0e430ff4b8d5621baa5978673344e78b4d8b4df51431b6e63785267c98a24ce18a0bb3e91a825fe3d42ed270a93e9ad1aabd566c40cb28e622f7f1d7ee967c8afd6a0aa364b0056870c6507bc3262a5f851ecb13684088bdb13996d3cb2db401ce3ffa0a3732eba4c7a6e062665ab5be08acb986c3db87556fb138548cc900ff1e56995a026b088e90c9738b8ce16e853107a937a50d52726a24f9f6ce60f587762eb45a2a006c9d5bc3c064b5c1fb565bff91cace9161c64ae653a329610c1dcf34d434429a06c16df2edc70656d322d0c2403bad7d45bc790ffc3e7adeef856d98ea6afc91ba0ae05ed5d6c34b5da29c2e94d7880aeba0906f95f4ec10b132a1d4766a0701c98a01470a86aa350d1ada0c082eac75de828a851f9c8c7c4aa49b1556fe3a5574966a0334eef025100a6da1033710dd98e0475f29d3d7e397caf618ca71c336c5f4f49a0ef0b3abbebcff34d6a8a8f5cdbfbd154ab3452b58dcb09de58ec983644963675a041857e865ec38e200a13bc1a3cb71c7d69aeef7ffdee8be515c9a5b691ce091fa059edd0eb3bbec36bbf38a19802d4646c00ba821ab55fdeea12e15bab62c4e1e580", + "0xf90211a0af0c7fa65ffcb84c31e68c1cf00e1a20bf8bb497c39883e19b66a99975b03431a0c492cab3623eb7926069794c3c718733e16c5fd0d4a13fb7c752ee9809aac7ada05003cea7132aa70d6f36731d60640a90bcd8f4fd493e4540d5ab1b4943679c0ca0fd700683405b1d2306b586dd3b5b2f92f1692fae20d17cd8b8e59d09b9c6670da01db8683910e46e56e8afeb9fe2b7c35382e5a0914d7b0dd8f0e8cb9981ba7435a0fa7f75d73aa73c35824387bec81388315caa4aee3f4f5562f971beb256c62d49a0ee478e420d83f413e8568dacfd5d83f83a5dd7c45f494b504828e5dc962f0e3ea094b95444a917ac94a675681f6bf851172ad0969801a783a63a71edafed45e7a7a0a0c46586e109abe80fe50361dd582e3f143cb416828239faa43bb2b890869501a0ae051d5d43634c68bf9c97823256cc68580f194dfdbd0c301140c7ca5853430ca0660b9365bb77ec9cdc6eb95516c162dca20727c6f828dbbeb1ae110dde4d3134a09feb1b75e84ff6722e4d837bfb6d207b6ee3b21b86844a01140ce293813b49a1a0ed58a70b04efa3bdc0babe2abfa20824a75d61d52291bfdb5cf08597800764d6a020a2d5d3a83f9e35ad9fd1c448626d90af0eb3efefaa4f2f93207b4096ef5507a0fc8efc4484dcf0a54f0574de9aaade0dcff6ec3599edb9f82efb26b6566dcaeaa032f7e79856db3fd984f72bb2c93d4dab328198d355a61c975fab1f08bdb2046580" + ], + "balance": "0x0", + "codeHash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nonce": "0x0", + "storageHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "storageProof": [ + { + "key": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "proof": [ + "0xf90211a0c87222cccea2bf32759fcee9dbaacbe3ea4165dd6184af6773651c5e00e34a8ba0be90e6e5d1a67ab5587779c60ac136d6a96db62b84c04998a5f03a367346abd6a05344aa1c9ca2e3e56bf98fd718ec43728578d148e1967fbaf8bf17a2a073a0bda011a2f9312c3308640a0d6ceeae218747290f23806067456da1d444c65abae437a0b3097a108bfce79af6699da4ae3003cd4929f0b4576aad655c31cb725bde84c7a0c133d3c637e174f36a73c22b1039eb003da6374bc0929321241badb3efa3c4a9a0f13059f2301ad9862ce02e3f7f3f2c9ab78eb30583764d73654f7f1f8b1e86fda06544e3915748b18204e09df75ff20d2fa6bd8121e2e669699012d54590383d6fa070e3a8e093691581d58fadb560b510262a758037632cd8670d3a36df828976b7a062a88a2900544dc76a32255a6b2b2a2eef8fa68279700c00adc7508286702552a0a474aeebd5603dfce46a6ecd1ecd519068dc034a544fde03ac42d4018e60a334a0b7d528fc41c8fdc8ea18c6e7d0099270c777ec1403cf879d1f5134bdc12a6c6ca04440f1242e42c5bfa7c536591ab89c8e84bea417435871c32eef1e25295b20daa06a5dcfe3cc84cff9d3e3c3ae868cfba8f0dd111a90c3f85869dab5b893f96643a026b2fb9dd7d08b0ed2f1c44fbf875011412a384f86f751c92e1013248d4aa371a0c75597b2b789fc4e939b71937390ce9d7d53159431328ac52180eef08ef200f280", + "0xf90191a0f0c5b800b542001597f2b7a8e106ac0e2849d2cc1df1727ac35c4ea3965f1c9180a08537f2e248702a6ae2a57e9110a5740f5772c876389739ac90debd6a0692713ea00b3a26a05b5494fb3ff6f0b3897688a5581066b20b07ebab9252d169d928717fa0a9a54d84976d134d6dba06a65064c7f3a964a75947d452db6f6bb4b6c47b43aaa01e2a1ed3d1572b872bbf09ee44d2ed737da31f01de3c0f4b4e1f046740066461a076f251d160b9a02eb0b5c1d83b61c9cdd4f37361705e79a45529bf49801fb824a0774a01a624cb14a50d17f2fe4b7ae6af8a67bbb029177ccc3dd729a734484d3ea05921b8a19aebe4fff5a36071e311778f9b93459183fdf7f6d870b401fa25dcbba0c8d71dd13d2806e2865a5c2cfa447f626471bf0b66182a8fd07230434e1cad2680a0e9864fdfaf3693b2602f56cd938ccd494b8634b1f91800ef02203a3609ca4c21a0c69d174ad6b6e58b0bd05914352839ec60915cd066dd2bee2a48016139687f21a0513dd5514fd6bad56871711441d38de2821cc6913cb192416b0385f025650731808080" + ], + "value": "0x1" + } + ] + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getRawTransactionByBlockHashAndIndex", + "summary": "Returns raw transaction data of a transaction with the block hash and index of which it was mined.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + }, + { + "name": "index", + "description": "The ordering in which a transaction is mined within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "name": "rawTransaction", + "description": "The raw transaction data", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_getRawTransactionByBlockHashAndIndex example", + "params": [ + { + "name": "Block hash", + "value": "0xbf137c3a7a1ebdfac21252765e5d7f40d115c2757e4a4abee929be88c624fdb7" + }, + { + "name": "Transaction index", + "value": "0x2" + } + ] + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getRawTransactionByBlockNumberAndIndex", + "summary": "Returns raw transaction data of a transaction with the block number and index of which it was mined.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + }, + { + "name": "index", + "description": "The ordering in which a transaction is mined within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "name": "rawTransaction", + "description": "The raw transaction data", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_getRawTransactionByBlockNumberAndIndex example", + "params": [ + { + "name": "Block", + "value": "0x1442e" + }, + { + "name": "Transaction index", + "value": "0x2" + } + ] + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getRawTransactionByHash", + "summary": "Returns raw transaction data of a transaction with the given hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/TransactionHash" + } + ], + "result": { + "name": "rawTransactionByHash", + "description": "The raw transaction data", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_getRawTransactionByHash example", + "params": [ + { + "name": "Transaction hash", + "value": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44" + } + ] + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getStorageAt", + "summary": "Gets a storage value from a contract address, a position, and an optional blockNumber", + "params": [ + { + "$ref": "#/components/contentDescriptors/Address" + }, + { + "$ref": "#/components/contentDescriptors/Position" + }, + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "dataWord", + "schema": { + "$ref": "#/components/schemas/DataWord" + } + }, + "examples": [ + { + "name": "eth_getStorageAt example", + "params": [ + { + "name": "Address", + "value": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73" + }, + { + "name": "Storage slot", + "value": "0x0" + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Value", + "value": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionByBlockHashAndIndex", + "summary": "Returns the information about a transaction requested by the block hash and index of which it was mined.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + }, + { + "name": "index", + "description": "The ordering in which a transaction is mined within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "$ref": "#/components/contentDescriptors/TransactionResult" + }, + "examples": [ + { + "name": "nullExample", + "params": [ + { + "name": "blockHashExample", + "value": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" + }, + { + "name": "indexExample", + "value": "0x0" + } + ], + "result": { + "name": "nullResultExample", + "value": null + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionByBlockNumberAndIndex", + "summary": "Returns the information about a transaction requested by the block number and index of which it was mined.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + }, + { + "name": "index", + "description": "The ordering in which a transaction is mined within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "$ref": "#/components/contentDescriptors/TransactionResult" + }, + "examples": [ + { + "name": "eth_getTransactionByBlockNumberAndIndex example", + "params": [ + { + "name": "Block", + "value": "0x1442e" + }, + { + "name": "Transaction index", + "value": "0x2" + } + ], + "result": { + "name": "Transaction information", + "value": { + "blockHash": "0x510efccf44a192e6e34bcb439a1947e24b86244280762cbb006858c237093fda", + "blockNumber": "0x422", + "chainId": 2018, + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0x5208", + "gasPrice": "0x3b9aca00", + "hash": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44", + "input": "0x", + "nonce": "0x1", + "to": "0x627306090abab3a6e1400e9345bc60c78a8bef57", + "transactionIndex": "0x0", + "value": "0x4e1003b28d9280000", + "v": "0xfe7", + "r": "0x84caf09aefbd5e539295acc67217563438a4efb224879b6855f56857fa2037d3", + "s": "0x5e863be3829812c81439f0ae9d8ecb832b531d651fb234c848d1bf45e62be8b9" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionByHash", + "summary": "Returns the information about a transaction requested by transaction hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/TransactionHash" + } + ], + "result": { + "$ref": "#/components/contentDescriptors/TransactionResult" + }, + "examples": [ + { + "name": "eth_getTransactionByHash example", + "params": [ + { + "name": "Transaction hash", + "value": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44" + } + ], + "result": { + "name": "Transaction information", + "value": { + "blockHash": "0x510efccf44a192e6e34bcb439a1947e24b86244280762cbb006858c237093fda", + "blockNumber": "0x422", + "chainId": 2018, + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0x5208", + "gasPrice": "0x3b9aca00", + "hash": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44", + "input": "0x", + "nonce": "0x1", + "to": "0x627306090abab3a6e1400e9345bc60c78a8bef57", + "transactionIndex": "0x0", + "value": "0x4e1003b28d9280000", + "v": "0xfe7", + "r": "0x84caf09aefbd5e539295acc67217563438a4efb224879b6855f56857fa2037d3", + "s": "0x5e863be3829812c81439f0ae9d8ecb832b531d651fb234c848d1bf45e62be8b9" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionCount", + "summary": "Returns the number of transactions sent from an address", + "params": [ + { + "$ref": "#/components/contentDescriptors/Address" + }, + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "transactionCount", + "schema": { + "title": "nonceOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Nonce" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + } + }, + "examples": [ + { + "name": "eth_getTransactionCount example", + "params": [ + { + "name": "Address", + "value": "0xc94770007dda54cF92009BFF0dE90c06F603a09f" + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Transaction count", + "value": "0x1" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionReceipt", + "summary": "Returns the receipt information of a transaction by its hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/TransactionHash" + } + ], + "result": { + "name": "transactionReceiptResult", + "description": "returns either a receipt or null", + "schema": { + "title": "transactionReceiptOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Receipt" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + } + }, + "examples": [ + { + "name": "eth_getTransactionReceipt example", + "params": [ + { + "name": "Transaction hash", + "value": "0x504ce587a65bdbdb6414a0c6c16d86a04dd79bfcc4f2950eec9634b30ce5370f" + } + ], + "result": { + "name": "Receipt information", + "value": { + "blockHash": "0xe7212a92cfb9b06addc80dec2a0dfae9ea94fd344efeb157c41e12994fcad60a", + "blockNumber": "0x50", + "contractAddress": null, + "cumulativeGasUsed": "0x5208", + "from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", + "gasUsed": "0x5208", + "blobGasUsed": "0x20000", + "effectiveGasPrice": "0x1", + "blobGasPrice": "0x3", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xf17f52151ebef6c7334fad080c5704d77216b732", + "transactionHash": "0xc00e97af59c6f88de163306935f7682af1a34c67245e414537d02e422815efc3", + "transactionIndex": "0x0" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getUncleByBlockHashAndIndex", + "summary": "Returns information about a uncle of a block by hash and uncle index position.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + }, + { + "name": "index", + "description": "The ordering in which a uncle is included within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "name": "uncle", + "schema": { + "$ref": "#/components/schemas/BlockOrNull" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_getUncleByBlockNumberAndIndex", + "summary": "Returns information about a uncle of a block by hash and uncle index position.", + "params": [ + { + "name": "uncleBlockNumber", + "description": "The block in which the uncle was included", + "required": true, + "schema": { + "$ref": "#/components/schemas/BlockNumber" + } + }, + { + "name": "index", + "description": "The ordering in which a uncle is included within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "name": "uncleResult", + "description": "returns an uncle block or null", + "schema": { + "$ref": "#/components/schemas/BlockOrNull" + } + }, + "examples": [ + { + "name": "nullResultExample", + "params": [ + { + "name": "uncleBlockNumberExample", + "value": "0x0" + }, + { + "name": "uncleBlockNumberIndexExample", + "value": "0x0" + } + ], + "result": { + "name": "nullResultExample", + "value": null + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getUncleCountByBlockHash", + "summary": "Returns the number of uncles in a block from a block matching the given block hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + } + ], + "result": { + "name": "uncleCountResult", + "description": "The Number of total uncles in the given block", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "examples": [ + { + "name": "eth_getUncleCountByBlockHash example", + "params": [ + { + "name": "Block hash", + "value": "0xb3b20624f8f0f86eb50dd04688409e5cea4bd02d700bf6e79e9384d47d6a5a35" + } + ], + "result": { + "name": "Uncle count", + "value": "0x1" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getUncleCountByBlockNumber", + "summary": "Returns the number of uncles in a block from a block matching the given block number.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "$ref": "#/components/contentDescriptors/UncleCountResult" + }, + "examples": [ + { + "name": "eth_getUncleCountByBlockNumber example", + "params": [ + { + "name": "Block", + "value": "0xe8" + } + ], + "result": { + "name": "Uncle count", + "value": "0x1" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getWork", + "summary": "Returns the hash of the current block, the seedHash, and the boundary condition to be met ('target').", + "params": [], + "result": { + "name": "work", + "schema": { + "title": "getWorkResults", + "type": "array", + "items": [ + { + "$ref": "#/components/schemas/PowHash" + }, + { + "$ref": "#/components/schemas/SeedHash" + }, + { + "$ref": "#/components/schemas/Difficulty" + } + ] + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_hashrate", + "summary": "Returns the number of hashes per second that the node is mining with.", + "params": [], + "result": { + "name": "hashesPerSecond", + "description": "Integer of the number of hashes per second", + "schema": { + "$ref": "#/components/schemas/Integer" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_mining", + "summary": "Returns true if client is actively mining new blocks.", + "params": [], + "result": { + "name": "mining", + "description": "Whether or not the client is mining", + "schema": { + "type": "boolean" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_newBlockFilter", + "summary": "Creates a filter in the node, to notify when a new block arrives. To check if the state has changed, call eth_getFilterChanges.", + "params": [], + "result": { + "$ref": "#/components/contentDescriptors/FilterId" + }, + "examples": [ + { + "name": "eth_newBlockFilter example", + "params": [], + "result": { + "name": "Filter identifier", + "value": "0x01" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_newFilter", + "summary": "Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call eth_getFilterChanges.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Filter" + } + ], + "result": { + "name": "filterId", + "description": "The filter ID for use in `eth_getFilterChanges`", + "schema": { + "$ref": "#/components/schemas/Integer" + } + }, + "examples": [ + { + "name": "eth_newFilter example", + "params": [ + { + "name": "Filter", + "value": { + "fromBlock": "0x137d3c2", + "toBlock": "0x137d3c3", + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [] + } + } + ], + "result": { + "name": "Filter identifier", + "value": "0x01" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_newPendingTransactionFilter", + "summary": "Creates a filter in the node, to notify when new pending transactions arrive. To check if the state has changed, call eth_getFilterChanges.", + "params": [], + "result": { + "$ref": "#/components/contentDescriptors/FilterId" + }, + "examples": [ + { + "name": "eth_newPendingTransactionFilter example", + "params": [], + "result": { + "name": "Filter identifier", + "value": "0x01" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_pendingTransactions", + "summary": "Returns the transactions that are pending in the transaction pool and have a from address that is one of the accounts this node manages.", + "params": [], + "result": { + "name": "pendingTransactions", + "schema": { + "$ref": "#/components/schemas/Transactions" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_protocolVersion", + "summary": "Returns the current ethereum protocol version.", + "params": [], + "result": { + "name": "protocolVersion", + "description": "The current ethereum protocol version", + "schema": { + "$ref": "#/components/schemas/Integer" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_sendRawTransaction", + "summary": "Creates new message call transaction or a contract creation for signed transactions.", + "params": [ + { + "name": "signedTransactionData", + "required": true, + "description": "The signed transaction data", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + } + ], + "result": { + "name": "transactionHash", + "description": "The transaction hash, or the zero hash if the transaction is not yet available.", + "schema": { + "$ref": "#/components/schemas/Keccak" + } + }, + "examples": [ + { + "name": "eth_sendRawTransaction example", + "params": [ + { + "name": "Transaction", + "value": "0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833" + } + ], + "result": { + "name": "Transaction hash", + "value": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_submitHashrate", + "deprecated": true, + "summary": "Used for submitting mining hashrate.", + "params": [ + { + "name": "hashRate", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataWord" + } + }, + { + "name": "id", + "required": true, + "description": "String identifying the client", + "schema": { + "$ref": "#/components/schemas/DataWord" + } + } + ], + "result": { + "name": "submitHashRateSuccess", + "description": "whether of not submitting went through successfully", + "schema": { + "type": "boolean" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_submitWork", + "summary": "Used for submitting a proof-of-work solution.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Nonce" + }, + { + "name": "powHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/PowHash" + } + }, + { + "name": "mixHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/MixHash" + } + } + ], + "result": { + "name": "solutionValid", + "description": "returns true if the provided solution is valid, otherwise false.", + "schema": { + "type": "boolean" + } + }, + "examples": [ + { + "name": "submitWorkExample", + "params": [ + { + "name": "nonceExample", + "description": "example of a number only used once", + "value": "0x0000000000000001" + }, + { + "name": "powHashExample", + "description": "proof of work to submit", + "value": "0x6bf2cAE0dE3ec3ecA5E194a6C6e02cf42aADfe1C2c4Fff12E5D36C3Cf7297F22" + }, + { + "name": "mixHashExample", + "description": "the mix digest example", + "value": "0xD1FE5700000000000000000000000000D1FE5700000000000000000000000000" + } + ], + "result": { + "name": "solutionInvalidExample", + "description": "this example should return `false` as it is not a valid pow to submit", + "value": false + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_syncing", + "summary": "Returns an object with data about the sync status or false.", + "params": [], + "result": { + "name": "syncing", + "schema": { + "title": "isSyncingResult", + "oneOf": [ + { + "title": "syncingData", + "description": "An object with sync status data", + "type": "object", + "properties": { + "startingBlock": { + "title": "syncingDataStartingBlock", + "description": "Block at which the import started (will only be reset, after the sync reached his head)", + "$ref": "#/components/schemas/Integer" + }, + "currentBlock": { + "title": "syncingDataCurrentBlock", + "description": "The current block, same as eth_blockNumber", + "$ref": "#/components/schemas/Integer" + }, + "highestBlock": { + "title": "syncingDataHighestBlock", + "description": "The estimated highest block", + "$ref": "#/components/schemas/Integer" + }, + "knownStates": { + "title": "syncingDataKnownStates", + "description": "The known states", + "$ref": "#/components/schemas/Integer" + }, + "pulledStates": { + "title": "syncingDataPulledStates", + "description": "The pulled states", + "$ref": "#/components/schemas/Integer" + } + } + }, + { + "type": "boolean" + } + ] + } + }, + "examples": [ + { + "name": "eth_syncing example", + "params": [], + "result": { + "name": "Syncing status", + "value": { + "startingBlock": "0x0", + "currentBlock": "0x1518", + "highestBlock": "0x9567a3" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_uninstallFilter", + "summary": "Uninstalls a filter with given id. Should always be called when watch is no longer needed. Additionally Filters timeout when they aren't requested with eth_getFilterChanges for a period of time.", + "params": [ + { + "name": "filterId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FilterId" + } + } + ], + "result": { + "name": "filterUninstalledSuccess", + "description": "returns true if the filter was successfully uninstalled, false otherwise.", + "schema": { + "type": "boolean" + } + }, + "examples": [ + { + "name": "eth_uninstallFilter example", + "params": [ + { + "name": "Filter identifier", + "value": "0x01" + } + ], + "result": { + "name": "Success", + "value": true + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "net_listening", + "summary": "eturns listening status", + "description": "Determines if this client is listening for new network connections.", + "params": [], + "result": { + "name": "netListeningResult", + "description": "`true` if listening is active or `false` if listening is not active", + "schema": { + "title": "isNetListening", + "type": "boolean" + } + }, + "examples": [ + { + "name": "netListeningTrueExample", + "description": "example of true result for net_listening", + "params": [], + "result": { + "name": "netListeningExampleFalseResult", + "value": true + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "net_peerCount", + "summary": "number of peers", + "description": "Returns the number of peers currently connected to this client.", + "params": [], + "result": { + "name": "quantity", + "description": "number of connected peers.", + "schema": { + "title": "numConnectedPeers", + "description": "Hex representation of number of connected peers", + "type": "string" + } + }, + "x-cu-cost": 1 + }, + { + "name": "net_version", + "summary": "Network identifier associated with network", + "description": "Returns the network ID associated with the current network.", + "params": [], + "result": { + "name": "networkId", + "description": "Network ID associated with the current network", + "schema": { + "title": "networkId", + "type": "string", + "pattern": "^[\\d]+$" + } + }, + "x-cu-cost": 1 + }, + { + "name": "trace_callMany", + "summary": "Executes multiple call traces on the same block state without committing any state changes.", + "params": [ + { + "name": "calls", + "required": true, + "schema": { + "type": "array", + "minItems": 1, + "items": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": [ + { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + "to": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + "gas": { + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + "gasPrice": { + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + "value": { + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + "data": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]*$" + } + }, + "required": [ + "to" + ] + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "enum": [ + "trace", + "vmTrace", + "stateDiff" + ] + } + } + ] + } + }, + "description": "List of call objects paired with requested trace types" + }, + { + "name": "blockParameter", + "required": true, + "schema": { + "oneOf": [ + { + "type": "string", + "enum": [ + "latest", + "pending" + ] + }, + { + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + } + ] + }, + "description": "Block context used for call execution" + } + ], + "result": { + "name": "results", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "output": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]*$" + }, + "trace": { + "type": "array" + }, + "vmTrace": { + "type": "object" + }, + "stateDiff": { + "type": "object" + } + }, + "additionalProperties": true + } + } + }, + "x-cu-cost": 20 + }, + { + "name": "trace_filter", + "summary": "Returns traces created by transactions within a given block range and address filter.", + "params": [ + { + "name": "filter", + "required": true, + "schema": { + "type": "object", + "properties": { + "fromBlock": { + "type": "string", + "oneOf": [ + { + "enum": [ + "earliest", + "latest", + "pending" + ] + }, + { + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + } + ] + }, + "toBlock": { + "type": "string", + "oneOf": [ + { + "enum": [ + "earliest", + "latest", + "pending" + ] + }, + { + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + } + ] + }, + "fromAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + } + } + ] + }, + "toAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + } + } + ] + }, + "after": { + "type": "integer", + "minimum": 0 + }, + "count": { + "type": "integer", + "minimum": 1 + } + }, + "additionalProperties": false + }, + "description": "Trace filter object" + } + ], + "result": { + "name": "traces", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "action": { + "type": "object" + }, + "result": { + "type": "object" + }, + "traceAddress": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0 + } + }, + "subtraces": { + "type": "integer", + "minimum": 0 + }, + "type": { + "type": "string" + }, + "blockHash": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + "blockNumber": { + "type": "integer", + "minimum": 0 + }, + "transactionHash": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + "transactionPosition": { + "type": "integer", + "minimum": 0 + } + }, + "additionalProperties": true + } + } + }, + "x-cu-cost": 1 + }, + { + "name": "web3_clientVersion", + "description": "Returns the version of the current client", + "summary": "current client version", + "params": [], + "result": { + "name": "clientVersion", + "description": "client version", + "schema": { + "title": "clientVersion", + "type": "string" + } + }, + "x-cu-cost": 1 + }, + { + "name": "web3_sha3", + "summary": "Hashes data", + "description": "Hashes data using the Keccak-256 algorithm", + "params": [ + { + "name": "data", + "description": "data to hash using the Keccak-256 algorithm", + "summary": "data to hash", + "schema": { + "title": "data", + "type": "string", + "pattern": "^0x[a-fA-F\\d]+$" + } + } + ], + "result": { + "name": "hashedData", + "description": "Keccak-256 hash of the given data", + "schema": { + "type": "string", + "description": "Hex representation of a Keccak 256 hash", + "pattern": "^0x[a-fA-F\\d]{64}$" + } + }, + "examples": [ + { + "name": "sha3Example", + "params": [ + { + "name": "sha3ParamExample", + "value": "0x68656c6c6f20776f726c64" + } + ], + "result": { + "name": "sha3ResultExample", + "value": "0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad" + } + } + ], + "x-cu-cost": 1 + } + ], + "components": { + "schemas": { + "ProofNode": { + "title": "proofNode", + "description": "An individual node used to prove a path down a merkle-patricia-tree", + "$ref": "#/components/schemas/Bytes" + }, + "StorageProofKey": { + "title": "storageProofKey", + "description": "The key used to get the storage slot in its account tree.", + "$ref": "#/components/schemas/Integer" + }, + "StorageProof": { + "title": "storageProofSet", + "type": "array", + "description": "Current block header PoW hash.", + "items": { + "title": "storageProof", + "type": "object", + "description": "Object proving a relationship of a storage value to an account's storageHash.", + "properties": { + "key": { + "$ref": "#/components/schemas/StorageProofKey" + }, + "value": { + "title": "storageProofValue", + "description": "The value of the storage slot in its account tree", + "$ref": "#/components/schemas/Integer" + }, + "proof": { + "$ref": "#/components/schemas/ProofNodes" + } + } + } + }, + "StorageKey": { + "title": "Storage Key", + "description": "Keccak-256 hash of a contract storage slot", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + "StorageRangeResult": { + "title": "Storage Range Result", + "description": "Result of a storage range query for a contract", + "type": "object", + "properties": { + "storage": { + "type": "object", + "description": "Mapping of storage slot hash to value", + "additionalProperties": { + "type": "object", + "properties": { + "key": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + "value": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]*$" + } + }, + "required": [ + "key", + "value" + ], + "additionalProperties": false + } + }, + "nextKey": { + "description": "Storage key to use as startKey for the next page", + "oneOf": [ + { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "storage" + ], + "additionalProperties": false + }, + "Quantity": { + "title": "Quantity", + "description": "Hex-encoded unsigned integer, prefixed with 0x, without leading zeroes", + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + "ProofNodes": { + "title": "proofNodes", + "type": "array", + "description": "The set of node values needed to traverse a patricia merkle tree (from root to leaf) to retrieve a value", + "items": { + "$ref": "#/components/schemas/ProofNode" + } + }, + "PowHash": { + "title": "powHash", + "description": "Current block header PoW hash.", + "$ref": "#/components/schemas/DataWord" + }, + "SeedHash": { + "title": "seedHash", + "description": "The seed hash used for the DAG.", + "$ref": "#/components/schemas/DataWord" + }, + "MixHash": { + "title": "mixHash", + "description": "The mix digest.", + "$ref": "#/components/schemas/DataWord" + }, + "Difficulty": { + "title": "difficulty", + "description": "The boundary condition ('target'), 2^256 / difficulty.", + "$ref": "#/components/schemas/DataWord" + }, + "FilterId": { + "title": "filterId", + "type": "string", + "description": "An identifier used to reference the filter." + }, + "BlockHash": { + "title": "blockHash", + "type": "string", + "pattern": "^0x[a-fA-F\\d]{64}$", + "description": "The hex representation of the Keccak 256 of the RLP encoded block" + }, + "BlockNumber": { + "title": "blockNumber", + "type": "string", + "description": "The hex representation of the block's height", + "$ref": "#/components/schemas/Integer" + }, + "BlockNumberTag": { + "title": "blockNumberTag", + "type": "string", + "description": "The optional block height description", + "enum": [ + "earliest", + "latest", + "pending" + ] + }, + "BlockOrNull": { + "title": "blockOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Block" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "IntegerOrNull": { + "title": "integerOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Integer" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "AddressOrNull": { + "title": "addressOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Address" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "Receipt": { + "title": "receipt", + "type": "object", + "description": "The receipt of a transaction", + "required": [ + "blockHash", + "blockNumber", + "contractAddress", + "cumulativeGasUsed", + "from", + "gasUsed", + "logs", + "logsBloom", + "to", + "transactionHash", + "transactionIndex" + ], + "properties": { + "blockHash": { + "$ref": "#/components/schemas/BlockHash" + }, + "blockNumber": { + "$ref": "#/components/schemas/BlockNumber" + }, + "contractAddress": { + "title": "ReceiptContractAddress", + "description": "The contract address created, if the transaction was a contract creation, otherwise null", + "$ref": "#/components/schemas/AddressOrNull" + }, + "cumulativeGasUsed": { + "title": "ReceiptCumulativeGasUsed", + "description": "The gas units used by the transaction", + "$ref": "#/components/schemas/Integer" + }, + "from": { + "$ref": "#/components/schemas/From" + }, + "gasUsed": { + "title": "ReceiptGasUsed", + "description": "The total gas used by the transaction", + "$ref": "#/components/schemas/Integer" + }, + "logs": { + "title": "logs", + "type": "array", + "description": "An array of all the logs triggered during the transaction", + "items": { + "$ref": "#/components/schemas/Log" + } + }, + "logsBloom": { + "$ref": "#/components/schemas/BloomFilter" + }, + "to": { + "$ref": "#/components/schemas/To" + }, + "transactionHash": { + "$ref": "#/components/schemas/TransactionHash" + }, + "transactionIndex": { + "$ref": "#/components/schemas/TransactionIndex" + }, + "postTransactionState": { + "title": "ReceiptPostTransactionState", + "description": "The intermediate stateRoot directly after transaction execution.", + "$ref": "#/components/schemas/Keccak" + }, + "status": { + "title": "ReceiptStatus", + "description": "Whether or not the transaction threw an error.", + "type": "boolean" + } + } + }, + "BloomFilter": { + "title": "bloomFilter", + "type": "string", + "description": "A 2048 bit bloom filter from the logs of the transaction. Each log sets 3 bits though taking the low-order 11 bits of each of the first three pairs of bytes in a Keccak 256 hash of the log's byte series" + }, + "Log": { + "title": "log", + "type": "object", + "description": "An indexed event generated during a transaction", + "properties": { + "address": { + "title": "LogAddress", + "description": "Sender of the transaction", + "$ref": "#/components/schemas/Address" + }, + "blockHash": { + "$ref": "#/components/schemas/BlockHash" + }, + "blockNumber": { + "$ref": "#/components/schemas/BlockNumber" + }, + "data": { + "title": "LogData", + "description": "The data/input string sent along with the transaction", + "$ref": "#/components/schemas/Bytes" + }, + "logIndex": { + "title": "LogIndex", + "description": "The index of the event within its transaction, null when its pending", + "$ref": "#/components/schemas/Integer" + }, + "removed": { + "title": "logIsRemoved", + "description": "Whether or not the log was orphaned off the main chain", + "type": "boolean" + }, + "topics": { + "$ref": "#/components/schemas/Topics" + }, + "transactionHash": { + "$ref": "#/components/schemas/TransactionHash" + }, + "transactionIndex": { + "$ref": "#/components/schemas/TransactionIndex" + } + } + }, + "Topics": { + "title": "LogTopics", + "description": "Topics are order-dependent. Each topic can also be an array of DATA with 'or' options.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Topic" + } + }, + "Topic": { + "title": "topic", + "description": "32 Bytes DATA of indexed log arguments. (In solidity: The first topic is the hash of the signature of the event (e.g. Deposit(address,bytes32,uint256))", + "$ref": "#/components/schemas/DataWord" + }, + "TransactionIndex": { + "title": "transactionIndex", + "description": "The index of the transaction. null when its pending", + "$ref": "#/components/schemas/IntegerOrNull" + }, + "BlockNumberOrNull": { + "title": "blockNumberOrNull", + "description": "The block number or null when its the pending block", + "oneOf": [ + { + "$ref": "#/components/schemas/BlockNumber" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "BlockHashOrNull": { + "title": "blockHashOrNull", + "description": "The block hash or null when its the pending block", + "$ref": "#/components/schemas/KeccakOrPending" + }, + "NonceOrNull": { + "title": "nonceOrNull", + "description": "Randomly selected number to satisfy the proof-of-work or null when its the pending block", + "oneOf": [ + { + "$ref": "#/components/schemas/Nonce" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "From": { + "title": "From", + "description": "The sender of the transaction", + "$ref": "#/components/schemas/Address" + }, + "To": { + "title": "To", + "description": "Destination address of the transaction. Null if it was a contract create.", + "oneOf": [ + { + "$ref": "#/components/schemas/Address" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "Block": { + "title": "Block", + "description": "The Block is the collection of relevant pieces of information (known as the block header), together with information corresponding to the comprised transactions, and a set of other block headers that are known to have a parent equal to the present block’s parent’s parent.", + "type": "object", + "properties": { + "number": { + "$ref": "#/components/schemas/BlockNumberOrNull" + }, + "hash": { + "$ref": "#/components/schemas/BlockHashOrNull" + }, + "parentHash": { + "$ref": "#/components/schemas/BlockHash" + }, + "nonce": { + "$ref": "#/components/schemas/NonceOrNull" + }, + "sha3Uncles": { + "title": "blockShaUncles", + "description": "Keccak hash of the uncles data in the block", + "$ref": "#/components/schemas/Keccak" + }, + "logsBloom": { + "title": "blockLogsBloom", + "type": "string", + "description": "The bloom filter for the logs of the block or null when its the pending block", + "pattern": "^0x[a-fA-F\\d]+$" + }, + "transactionsRoot": { + "title": "blockTransactionsRoot", + "description": "The root of the transactions trie of the block.", + "$ref": "#/components/schemas/Keccak" + }, + "stateRoot": { + "title": "blockStateRoot", + "description": "The root of the final state trie of the block", + "$ref": "#/components/schemas/Keccak" + }, + "receiptsRoot": { + "title": "blockReceiptsRoot", + "description": "The root of the receipts trie of the block", + "$ref": "#/components/schemas/Keccak" + }, + "miner": { + "$ref": "#/components/schemas/AddressOrNull" + }, + "difficulty": { + "title": "blockDifficulty", + "type": "string", + "description": "Integer of the difficulty for this block" + }, + "totalDifficulty": { + "title": "blockTotalDifficulty", + "description": "Integer of the total difficulty of the chain until this block", + "$ref": "#/components/schemas/IntegerOrNull" + }, + "extraData": { + "title": "blockExtraData", + "type": "string", + "description": "The 'extra data' field of this block" + }, + "size": { + "title": "blockSize", + "type": "string", + "description": "Integer the size of this block in bytes" + }, + "gasLimit": { + "title": "blockGasLimit", + "type": "string", + "description": "The maximum gas allowed in this block" + }, + "gasUsed": { + "title": "blockGasUsed", + "type": "string", + "description": "The total used gas by all transactions in this block" + }, + "timestamp": { + "title": "blockTimeStamp", + "type": "string", + "description": "The unix timestamp for when the block was collated" + }, + "transactions": { + "title": "transactionsOrHashes", + "description": "Array of transaction objects, or 32 Bytes transaction hashes depending on the last given parameter", + "type": "array", + "items": { + "title": "transactionOrTransactionHash", + "oneOf": [ + { + "$ref": "#/components/schemas/Transaction" + }, + { + "$ref": "#/components/schemas/TransactionHash" + } + ] + } + }, + "uncles": { + "title": "uncleHashes", + "description": "Array of uncle hashes", + "type": "array", + "items": { + "title": "uncleHash", + "description": "Block hash of the RLP encoding of an uncle block", + "$ref": "#/components/schemas/Keccak" + } + } + } + }, + "Transaction": { + "title": "transaction", + "type": "object", + "required": [ + "gas", + "gasPrice", + "nonce" + ], + "properties": { + "blockHash": { + "$ref": "#/components/schemas/BlockHashOrNull" + }, + "blockNumber": { + "$ref": "#/components/schemas/BlockNumberOrNull" + }, + "from": { + "$ref": "#/components/schemas/From" + }, + "gas": { + "title": "transactionGas", + "type": "string", + "description": "The gas limit provided by the sender in Wei" + }, + "gasPrice": { + "title": "transactionGasPrice", + "type": "string", + "description": "The gas price willing to be paid by the sender in Wei" + }, + "hash": { + "$ref": "#/components/schemas/TransactionHash" + }, + "input": { + "title": "transactionInput", + "type": "string", + "description": "The data field sent with the transaction" + }, + "nonce": { + "title": "transactionNonce", + "description": "The total number of prior transactions made by the sender", + "$ref": "#/components/schemas/Nonce" + }, + "to": { + "$ref": "#/components/schemas/To" + }, + "transactionIndex": { + "$ref": "#/components/schemas/TransactionIndex" + }, + "value": { + "title": "transactionValue", + "description": "Value of Ether being transferred in Wei", + "$ref": "#/components/schemas/Keccak" + }, + "v": { + "title": "transactionSigV", + "type": "string", + "description": "ECDSA recovery id" + }, + "r": { + "title": "transactionSigR", + "type": "string", + "description": "ECDSA signature r" + }, + "s": { + "title": "transactionSigS", + "type": "string", + "description": "ECDSA signature s" + } + } + }, + "Transactions": { + "title": "transactions", + "description": "An array of transactions", + "type": "array", + "items": { + "$ref": "#/components/schemas/Transaction" + } + }, + "TransactionHash": { + "title": "transactionHash", + "type": "string", + "description": "Keccak 256 Hash of the RLP encoding of a transaction", + "$ref": "#/components/schemas/Keccak" + }, + "KeccakOrPending": { + "title": "keccakOrPending", + "oneOf": [ + { + "$ref": "#/components/schemas/Keccak" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "Keccak": { + "title": "keccak", + "type": "string", + "description": "Hex representation of a Keccak 256 hash", + "pattern": "^0x[a-fA-F\\d]{64}$" + }, + "Nonce": { + "title": "nonce", + "description": "A number only to be used once", + "$ref": "#/components/schemas/Integer" + }, + "Null": { + "title": "null", + "type": "null", + "description": "Null" + }, + "Integer": { + "title": "integer", + "type": "string", + "pattern": "^0x[a-fA-F0-9]+$", + "description": "Hex representation of the integer" + }, + "Address": { + "title": "address", + "type": "string", + "pattern": "^0x[a-fA-F\\d]{40}$" + }, + "Addresses": { + "title": "addresses", + "type": "array", + "description": "List of contract addresses from which to monitor events", + "items": { + "$ref": "#/components/schemas/Address" + } + }, + "Position": { + "title": "position", + "type": "string", + "description": "Hex representation of the storage slot where the variable exists", + "pattern": "^0x([a-fA-F0-9]?)+$" + }, + "DataWord": { + "title": "dataWord", + "type": "string", + "description": "Hex representation of a 256 bit unit of data", + "pattern": "^0x([a-fA-F\\d]{64})?$" + }, + "Bytes": { + "title": "bytes", + "type": "string", + "description": "Hex representation of a variable length byte array", + "pattern": "^0x([a-fA-F0-9]?)+$" + } + }, + "contentDescriptors": { + "Block": { + "name": "block", + "summary": "A block", + "description": "A block object", + "schema": { + "$ref": "#/components/schemas/Block" + } + }, + "Null": { + "name": "Null", + "description": "JSON Null value", + "summary": "Null value", + "schema": { + "$ref": "#/components/schemas/Null" + } + }, + "Signature": { + "name": "signature", + "summary": "The signature.", + "required": true, + "schema": { + "title": "signatureBytes", + "type": "string", + "description": "Hex representation of byte array between 2 and 65 chars long", + "pattern": "0x^([A-Fa-f0-9]{2}){65}$" + } + }, + "GasPrice": { + "name": "gasPrice", + "required": true, + "schema": { + "title": "gasPriceResult", + "description": "Integer of the current gas price", + "$ref": "#/components/schemas/Integer" + } + }, + "Transaction": { + "required": true, + "name": "transaction", + "schema": { + "$ref": "#/components/schemas/Transaction" + } + }, + "TransactionResult": { + "name": "transactionResult", + "description": "Returns a transaction or null", + "schema": { + "title": "TransactionOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Transaction" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + } + }, + "UncleCountResult": { + "name": "uncleCountResult", + "description": "The Number of total uncles in the given block", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "Message": { + "name": "message", + "required": true, + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "Filter": { + "name": "filter", + "required": true, + "schema": { + "title": "filter", + "type": "object", + "description": "A filter used to monitor the blockchain for log/events", + "properties": { + "fromBlock": { + "$ref": "#/components/schemas/BlockNumber" + }, + "toBlock": { + "$ref": "#/components/schemas/BlockNumber" + }, + "address": { + "title": "oneOrArrayOfAddresses", + "oneOf": [ + { + "$ref": "#/components/schemas/Address" + }, + { + "$ref": "#/components/schemas/Addresses" + } + ] + }, + "topics": { + "$ref": "#/components/schemas/Topics" + } + } + } + }, + "Address": { + "name": "address", + "required": true, + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + "BlockHash": { + "name": "blockHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/BlockHash" + } + }, + "Nonce": { + "name": "nonce", + "required": true, + "schema": { + "$ref": "#/components/schemas/Nonce" + } + }, + "Position": { + "name": "key", + "required": true, + "schema": { + "$ref": "#/components/schemas/Position" + } + }, + "Logs": { + "name": "logs", + "description": "An array of all logs matching filter with given id.", + "schema": { + "title": "setOfLogs", + "type": "array", + "items": { + "$ref": "#/components/schemas/Log" + } + } + }, + "FilterId": { + "name": "filterId", + "schema": { + "$ref": "#/components/schemas/FilterId" + } + }, + "BlockNumber": { + "name": "blockNumber", + "required": true, + "schema": { + "title": "blockNumberOrTag", + "oneOf": [ + { + "$ref": "#/components/schemas/BlockNumber" + }, + { + "$ref": "#/components/schemas/BlockNumberTag" + } + ] + } + }, + "TransactionHash": { + "name": "transactionHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/TransactionHash" + } + } + } + } +} \ No newline at end of file diff --git a/polygon/json-rpc/CHANGELOG.md b/polygon/json-rpc/CHANGELOG.md new file mode 100644 index 0000000..f5da639 --- /dev/null +++ b/polygon/json-rpc/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +All notable changes to this schema are documented in this file. + +The format is based on [Keep a ChangeLog](https://keepachangelog.com/) and follows [Semantic Versioning](https://semver.org/) + +## [0.0.1] - 2026-02-25 + +### Added + +- Initial version of the spec diff --git a/polygon/json-rpc/VERSION b/polygon/json-rpc/VERSION new file mode 100644 index 0000000..8a9ecc2 --- /dev/null +++ b/polygon/json-rpc/VERSION @@ -0,0 +1 @@ +0.0.1 \ No newline at end of file diff --git a/polygon/json-rpc/openrpc.json b/polygon/json-rpc/openrpc.json new file mode 100644 index 0000000..add8dda --- /dev/null +++ b/polygon/json-rpc/openrpc.json @@ -0,0 +1,3248 @@ +{ + "openrpc": "1.2.4", + "info": { + "title": "Polygon JSON-RPC Specification", + "description": "A specification of the Polygon execution JSON-RPC API provided by Chain.Love platform.", + "version": "0.0.1", + "contact": { + "name": "devs", + "email": "devs@chain.love" + } + }, + "methods": [ + { + "name": "debug_storageRangeAt", + "summary": "Returns a range of storage entries for a contract at a specific point in a block.", + "params": [ + { + "name": "blockHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/BlockHash" + }, + "description": "Block hash at which the storage is inspected" + }, + { + "name": "txIndex", + "required": true, + "schema": { + "$ref": "#/components/schemas/TransactionIndex" + }, + "description": "Transaction index within the block used to select the execution state" + }, + { + "name": "address", + "required": true, + "schema": { + "$ref": "#/components/schemas/Address" + }, + "description": "Contract address whose storage is queried" + }, + { + "name": "startKey", + "required": true, + "schema": { + "$ref": "#/components/schemas/StorageKey" + }, + "description": "Starting storage key (hashed) from which to begin the range" + }, + { + "name": "limit", + "required": true, + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/Quantity" + }, + { + "type": "integer", + "minimum": 0 + } + ] + }, + "description": "Maximum number of storage entries to return" + } + ], + "result": { + "name": "storageRange", + "schema": { + "$ref": "#/components/schemas/StorageRangeResult" + } + }, + "x-cu-cost": 20 + }, + { + "name": "eth_blockNumber", + "summary": "Returns the number of most recent block.", + "params": [], + "result": { + "$ref": "#/components/contentDescriptors/BlockNumber" + }, + "examples": [ + { + "name": "eth_blockNumber example", + "params": [], + "result": { + "name": "Block number", + "value": "0x2377" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_call", + "summary": "Executes a new message call (locally) immediately without creating a transaction on the block chain.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Transaction" + }, + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "returnValue", + "description": "The return value of the executed contract", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_call example", + "params": [ + { + "name": "Transaction", + "value": { + "to": "0x69498dd54bd25aa0c886cf1f8b8ae0856d55ff13", + "value": "0x1" + } + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Return data", + "value": "0x" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_chainId", + "summary": "Returns the currently configured chain id", + "description": "Returns the currently configured chain id, a value used in replay-protected transaction signing as introduced by [EIP-155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md).", + "params": [], + "result": { + "name": "chainId", + "description": "hex format integer of the current chain id. Defaults are ETC=61, ETH=1, Morden=62.", + "schema": { + "title": "chainId", + "type": "string", + "pattern": "^0x[a-fA-F\\d]+$" + } + }, + "examples": [ + { + "name": "eth_chainId example", + "params": [], + "result": { + "name": "Chain ID", + "value": "0x1" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_coinbase", + "summary": "Returns the client coinbase address.", + "params": [], + "result": { + "name": "address", + "description": "The address owned by the client that is used as default for things like the mining reward", + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + "examples": [ + { + "name": "eth_coinbase example", + "params": [], + "result": { + "name": "Coinbase address", + "value": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_estimateGas", + "summary": "Generates and returns an estimate of how much gas is necessary to allow the transaction to complete. The transaction will not be added to the blockchain. Note that the estimate may be significantly more than the amount of gas actually used by the transaction, for a variety of reasons including EVM mechanics and node performance.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Transaction" + } + ], + "result": { + "name": "gasUsed", + "description": "The amount of gas used", + "schema": { + "$ref": "#/components/schemas/Integer" + } + }, + "examples": [ + { + "name": "eth_estimateGas example", + "params": [ + { + "name": "Transaction", + "value": { + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "to": "0x44aa93095d6749a706051658b970b941c72c1d53", + "value": "0x1" + } + } + ], + "result": { + "name": "Gas used", + "value": "0x5208" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_gasPrice", + "summary": "Returns the current price per gas in wei", + "params": [], + "result": { + "$ref": "#/components/contentDescriptors/GasPrice" + }, + "examples": [ + { + "name": "eth_gasPrice example", + "params": [], + "result": { + "name": "Gas price", + "value": "0x3e8" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBalance", + "summary": "Returns Ether balance of a given or account or contract", + "params": [ + { + "name": "address", + "required": true, + "description": "The address of the account or contract", + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + { + "name": "blockNumber", + "description": "A BlockNumber at which to request the balance", + "schema": { + "$ref": "#/components/schemas/BlockNumber" + } + } + ], + "result": { + "name": "getBalanceResult", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "examples": [ + { + "name": "eth_getBalance example", + "params": [ + { + "name": "Address", + "value": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73" + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Balance", + "value": "0x1cfe56f3795885980000" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockByHash", + "summary": "Gets a block for a given hash", + "params": [ + { + "name": "blockHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/BlockHash" + } + }, + { + "name": "includeTransactions", + "description": "If `true` it returns the full transaction objects, if `false` only the hashes of the transactions.", + "required": true, + "schema": { + "title": "isTransactionsIncluded", + "type": "boolean" + } + } + ], + "result": { + "name": "getBlockByHashResult", + "schema": { + "$ref": "#/components/schemas/BlockOrNull" + } + }, + "examples": [ + { + "name": "eth_getBlockByHash example", + "params": [ + { + "name": "Block hash", + "value": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c" + }, + { + "name": "Hydrated transactions", + "value": false + } + ], + "result": { + "name": "Block information", + "value": { + "number": "0x68b3", + "hash": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c", + "mixHash": "0x24900fb3da77674a861c428429dce0762707ecb6052325bbd9b3c64e74b5af9d", + "parentHash": "0x1f68ac259155e2f38211ddad0f0a15394d55417b185a93923e2abe71bb7a4d6d", + "nonce": "0x378da40ff335b070", + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "logsBloom": "0x00000000000000100000004080000000000500000000000000020000100000000800001000000004000001000000000000000800040010000020100000000400000010000000000000000040000000000000040000000000000000000000000000000400002400000000000000000000000000000004000004000000000000840000000800000080010004000000001000000800000000000000000000000000000000000800000000000040000000020000000000000000000800000400000000000000000000000600000400000000002000000000000000000000004000000000000000100000000000000000000000000000000000040000900010000000", + "transactionsRoot": "0x4d0c8e91e16bdff538c03211c5c73632ed054d00a7e210c0eb25146c20048126", + "stateRoot": "0x91309efa7e42c1f137f31fe9edbe88ae087e6620d0d59031324da3e2f4f93233", + "receiptsRoot": "0x68461ab700003503a305083630a8fb8d14927238f0bc8b6b3d246c0c64f21f4a", + "miner": "0xb42b6c4a95406c78ff892d270ad20b22642e102d", + "difficulty": "0x66e619a", + "totalDifficulty": "0x1e875d746ae", + "extraData": "0xd583010502846765746885676f312e37856c696e7578", + "size": "0x334", + "gasLimit": "0x47e7c4", + "gasUsed": "0x37993", + "timestamp": "0x5835c54d", + "uncles": [], + "transactions": [ + "0xa0807e117a8dd124ab949f460f08c36c72b710188f01609595223b325e58e0fc", + "0xeae6d797af50cb62a596ec3939114d63967c374fa57de9bc0f4e2b576ed6639d" + ], + "baseFeePerGas": "0x7", + "withdrawalsRoot": "0x7a4ecf19774d15cf9c15adf0dd8e8a250c128b26c9e2ab2a08d6c9c8ffbd104f", + "withdrawals": [ + { + "index": "0x0", + "validatorIndex": "0x9d8c0", + "address": "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "amount": "0x11a33e3760" + } + ], + "blobGasUsed": "0x0", + "excessBlobGas": "0x0", + "parentBeaconBlockRoot": "0x95c4dbd5b19f6fe3cbc3183be85ff4e85ebe75c5b4fc911f1c91e5b7a554a685" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockByNumber", + "summary": "Gets a block for a given number", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + }, + { + "name": "includeTransactions", + "description": "If `true` it returns the full transaction objects, if `false` only the hashes of the transactions.", + "required": true, + "schema": { + "title": "isTransactionsIncluded", + "type": "boolean" + } + } + ], + "result": { + "name": "getBlockByNumberResult", + "schema": { + "$ref": "#/components/schemas/BlockOrNull" + } + }, + "examples": [ + { + "name": "eth_getBlockByNumber example", + "params": [ + { + "name": "block", + "value": "0x68b3" + }, + { + "name": "Hydrated transactions", + "value": false + } + ], + "result": { + "name": "Block information", + "value": { + "number": "0x68b3", + "hash": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c", + "mixHash": "0x24900fb3da77674a861c428429dce0762707ecb6052325bbd9b3c64e74b5af9d", + "parentHash": "0x1f68ac259155e2f38211ddad0f0a15394d55417b185a93923e2abe71bb7a4d6d", + "nonce": "0x378da40ff335b070", + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "logsBloom": "0x00000000000000100000004080000000000500000000000000020000100000000800001000000004000001000000000000000800040010000020100000000400000010000000000000000040000000000000040000000000000000000000000000000400002400000000000000000000000000000004000004000000000000840000000800000080010004000000001000000800000000000000000000000000000000000800000000000040000000020000000000000000000800000400000000000000000000000600000400000000002000000000000000000000004000000000000000100000000000000000000000000000000000040000900010000000", + "transactionsRoot": "0x4d0c8e91e16bdff538c03211c5c73632ed054d00a7e210c0eb25146c20048126", + "stateRoot": "0x91309efa7e42c1f137f31fe9edbe88ae087e6620d0d59031324da3e2f4f93233", + "receiptsRoot": "0x68461ab700003503a305083630a8fb8d14927238f0bc8b6b3d246c0c64f21f4a", + "miner": "0xb42b6c4a95406c78ff892d270ad20b22642e102d", + "difficulty": "0x66e619a", + "totalDifficulty": "0x1e875d746ae", + "extraData": "0xd583010502846765746885676f312e37856c696e7578", + "size": "0x334", + "gasLimit": "0x47e7c4", + "gasUsed": "0x37993", + "timestamp": "0x5835c54d", + "uncles": [], + "transactions": [ + "0xa0807e117a8dd124ab949f460f08c36c72b710188f01609595223b325e58e0fc", + "0xeae6d797af50cb62a596ec3939114d63967c374fa57de9bc0f4e2b576ed6639d" + ], + "baseFeePerGas": "0x7", + "withdrawalsRoot": "0x7a4ecf19774d15cf9c15adf0dd8e8a250c128b26c9e2ab2a08d6c9c8ffbd104f", + "withdrawals": [ + { + "index": "0x0", + "validatorIndex": "0x9d8c0", + "address": "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "amount": "0x11a33e3760" + } + ], + "blobGasUsed": "0x0", + "excessBlobGas": "0x0", + "parentBeaconBlockRoot": "0x95c4dbd5b19f6fe3cbc3183be85ff4e85ebe75c5b4fc911f1c91e5b7a554a685" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockReceipts", + "summary": "Returns the receipts of a block by number or hash.", + "params": [ + { + "name": "Block", + "required": true, + "schema": { + "title": "Block number, tag, or block hash", + "anyOf": [ + { + "title": "Block number", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + { + "title": "Block tag", + "type": "string", + "enum": [ + "earliest", + "finalized", + "safe", + "latest", + "pending" + ], + "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error" + }, + { + "title": "Block hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + } + ] + } + } + ], + "result": { + "name": "Receipts information", + "schema": { + "oneOf": [ + { + "title": "Not Found (null)", + "type": "null" + }, + { + "title": "Receipts information", + "type": "array", + "items": { + "type": "object", + "title": "Receipt information", + "required": [ + "blockHash", + "blockNumber", + "from", + "cumulativeGasUsed", + "gasUsed", + "logs", + "logsBloom", + "transactionHash", + "transactionIndex", + "effectiveGasPrice" + ], + "additionalProperties": false, + "properties": { + "type": { + "title": "type", + "type": "string", + "pattern": "^0x([0-9a-fA-F]?){1,2}$" + }, + "transactionHash": { + "title": "transaction hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + }, + "transactionIndex": { + "title": "transaction index", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "blockHash": { + "title": "block hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + }, + "blockNumber": { + "title": "block number", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "from": { + "title": "from", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + "to": { + "title": "to", + "description": "Address of the receiver or null in a contract creation transaction.", + "oneOf": [ + { + "title": "Contract Creation (null)", + "type": "null" + }, + { + "title": "Recipient Address", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + } + ] + }, + "cumulativeGasUsed": { + "title": "cumulative gas used", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The sum of gas used by this transaction and all preceding transactions in the same block." + }, + "gasUsed": { + "title": "gas used", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The amount of gas used for this specific transaction alone." + }, + "blobGasUsed": { + "title": "blob gas used", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The amount of blob gas used for this specific transaction. Only specified for blob transactions as defined by EIP-4844." + }, + "contractAddress": { + "title": "contract address", + "description": "The contract address created, if the transaction was a contract creation, otherwise null.", + "oneOf": [ + { + "title": "hex encoded address", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + { + "title": "Null", + "type": "null" + } + ] + }, + "logs": { + "title": "logs", + "type": "array", + "items": { + "title": "log", + "type": "object", + "required": [ + "transactionHash" + ], + "additionalProperties": false, + "properties": { + "removed": { + "title": "removed", + "type": "boolean" + }, + "logIndex": { + "title": "log index", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "transactionIndex": { + "title": "transaction index", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "transactionHash": { + "title": "transaction hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + }, + "blockHash": { + "title": "block hash", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + }, + "blockNumber": { + "title": "block number", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" + }, + "address": { + "title": "address", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + "data": { + "title": "data", + "type": "string", + "pattern": "^0x[0-9a-f]*$" + }, + "topics": { + "title": "topics", + "type": "array", + "items": { + "title": "32 hex encoded bytes", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$" + } + } + } + } + }, + "logsBloom": { + "title": "logs bloom", + "type": "string", + "pattern": "^0x[0-9a-f]{512}$" + }, + "root": { + "title": "state root", + "type": "string", + "pattern": "^0x[0-9a-f]{64}$", + "description": "The post-transaction state root. Only specified for transactions included before the Byzantium upgrade." + }, + "status": { + "title": "status", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "Either 1 (success) or 0 (failure). Only specified for transactions included after the Byzantium upgrade." + }, + "effectiveGasPrice": { + "title": "effective gas price", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The actual value per gas deducted from the sender's account. Before EIP-1559, this is equal to the transaction's gas price. After, it is equal to baseFeePerGas + min(maxFeePerGas - baseFeePerGas, maxPriorityFeePerGas)." + }, + "blobGasPrice": { + "title": "blob gas price", + "type": "string", + "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$", + "description": "The actual value per gas deducted from the sender's account for blob gas. Only specified for blob transactions as defined by EIP-4844." + } + } + } + } + ] + } + }, + "examples": [ + { + "name": "eth_getBlockReceipts example", + "params": [ + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Receipts information", + "value": [ + { + "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182", + "blockNumber": "0x6f55", + "contractAddress": null, + "cumulativeGasUsed": "0x18c36", + "from": "0x22896bfc68814bfd855b1a167255ee497006e730", + "gasUsed": "0x18c36", + "blobGasUsed": "0x20000", + "effectiveGasPrice": "0x9502f907", + "blobGasPrice": "0x32", + "logs": [ + { + "address": "0xfd584430cafa2f451b4e2ebcf3986a21fff04350", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x4be29e0e4eb91f98f709d98803cba271592782e293b84a625e025cbb40197ba8", + "0x000000000000000000000000835281a2563db4ebf1b626172e085dc406bfc7d2", + "0x00000000000000000000000022896bfc68814bfd855b1a167255ee497006e730" + ], + "data": "0x", + "blockNumber": "0x6f55", + "transactionHash": "0x4a481e4649da999d92db0585c36cba94c18a33747e95dc235330e6c737c6f975", + "transactionIndex": "0x0", + "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000080020000000000000200010000000000000000000001000000800000000000000000000000000000000000000000000000000000100100000000000000000000008000000000000000000000000000000002000000000000000000000", + "status": "0x1", + "to": "0xfd584430cafa2f451b4e2ebcf3986a21fff04350", + "transactionHash": "0x4a481e4649da999d92db0585c36cba94c18a33747e95dc235330e6c737c6f975", + "transactionIndex": "0x0", + "type": "0x0" + }, + { + "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182", + "blockNumber": "0x6f55", + "contractAddress": null, + "cumulativeGasUsed": "0x1de3e", + "from": "0x712e3a792c974b3e3dbe41229ad4290791c75a82", + "gasUsed": "0x5208", + "blobGasUsed": "0x20000", + "effectiveGasPrice": "0x9502f907", + "blobGasPrice": "0x32", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xd42e2b1c14d02f1df5369a9827cb8e6f3f75f338", + "transactionHash": "0xefb83b4e3f1c317e8da0f8e2fbb2fe964f34ee184466032aeecac79f20eacaf6", + "transactionIndex": "0x1", + "type": "0x2" + } + ] + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockTransactionCountByHash", + "summary": "Returns the number of transactions in a block from a block matching the given block hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + } + ], + "result": { + "name": "blockTransactionCountByHash", + "description": "The Number of total transactions in the given block", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "examples": [ + { + "name": "eth_getBlockTransactionCountByHash example", + "params": [ + { + "name": "Block hash", + "value": "0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238" + } + ], + "result": { + "name": "Transaction count", + "value": "0x8" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getBlockTransactionCountByNumber", + "summary": "Returns the number of transactions in a block from a block matching the given block number.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "blockTransactionCountByHash", + "description": "The Number of total transactions in the given block", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "examples": [ + { + "name": "eth_getBlockTransactionCountByNumber example", + "params": [ + { + "name": "Block", + "value": "0xe8" + } + ], + "result": { + "name": "Transaction count", + "value": "0x8" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getCode", + "summary": "Returns code at a given contract address", + "params": [ + { + "name": "address", + "required": true, + "description": "The address of the contract", + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + { + "name": "blockNumber", + "description": "A BlockNumber of which the code existed", + "schema": { + "$ref": "#/components/schemas/BlockNumber" + } + } + ], + "result": { + "name": "bytes", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_getCode example", + "params": [ + { + "name": "Address", + "value": "0xa50a51c09a5c451c52bb714527e1974b686d8e77" + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Bytecode", + "value": "0x60806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633fa4f2458114604d57806355241077146071575b600080fd5b348015605857600080fd5b50605f6088565b60408051918252519081900360200190f35b348015607c57600080fd5b506086600435608e565b005b60005481565b60008190556040805182815290517f199cd93e851e4c78c437891155e2112093f8f15394aa89dab09e38d6ca0727879181900360200190a1505600a165627a7a723058209d8929142720a69bde2ab3bfa2da6217674b984899b62753979743c0470a2ea70029" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getFilterChanges", + "summary": "Polling method for a filter, which returns an array of logs which occurred since last poll.", + "params": [ + { + "name": "filterId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FilterId" + } + } + ], + "result": { + "name": "logResult", + "schema": { + "title": "logResult", + "type": "array", + "items": { + "$ref": "#/components/schemas/Log" + } + } + }, + "examples": [ + { + "name": "eth_getFilterChanges example", + "params": [ + { + "name": "Filter identifier", + "value": "0x01" + } + ], + "result": { + "name": "Log objects", + "value": [ + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x233", + "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5", + "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000004", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + }, + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x238", + "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed", + "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000007", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + } + ] + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getFilterLogs", + "summary": "Returns an array of all logs matching filter with given id.", + "params": [ + { + "name": "filterId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FilterId" + } + } + ], + "result": { + "$ref": "#/components/contentDescriptors/Logs" + }, + "examples": [ + { + "name": "eth_getFilterLogs example", + "params": [ + { + "name": "Filter identifier", + "value": "0x01" + } + ], + "result": { + "name": "Log objects", + "value": [ + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x233", + "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5", + "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000004", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + }, + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x238", + "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed", + "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000007", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + } + ] + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getLogs", + "summary": "Returns an array of all logs matching a given filter object.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Filter" + } + ], + "result": { + "$ref": "#/components/contentDescriptors/Logs" + }, + "examples": [ + { + "name": "eth_getLogs example", + "params": [ + { + "name": "Filter", + "value": { + "fromBlock": "0x137d3c2", + "toBlock": "0x137d3c3", + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [] + } + } + ], + "result": { + "name": "Log objects", + "value": [ + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x233", + "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5", + "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000004", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + }, + { + "logIndex": "0x0", + "removed": false, + "blockNumber": "0x238", + "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed", + "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058", + "transactionIndex": "0x0", + "address": "0x42699a7612a82f1d9c36148af9c77354759b210b", + "data": "0x0000000000000000000000000000000000000000000000000000000000000007", + "topics": [ + "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3" + ] + } + ] + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getProof", + "summary": "Returns the account- and storage-values of the specified account including the Merkle-proof.", + "params": [ + { + "name": "address", + "description": "The address of the account or contract", + "required": true, + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + { + "name": "storageKeys", + "required": true, + "schema": { + "title": "storageKeys", + "description": "A storage key is indexed from the solidity compiler by the order it is declared. For mappings it uses the keccak of the mapping key with its position (and recursively for X-dimensional mappings)", + "items": { + "$ref": "#/components/schemas/StorageProofKey" + } + } + }, + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "account", + "schema": { + "title": "proofAccountOrNull", + "oneOf": [ + { + "title": "proofAccount", + "type": "object", + "description": "The merkle proofs of the specified account connecting them to the blockhash of the block specified", + "properties": { + "address": { + "title": "proofAccountAddress", + "description": "The address of the account or contract of the request", + "$ref": "#/components/schemas/Address" + }, + "accountProof": { + "$ref": "#/components/schemas/ProofNodes" + }, + "balance": { + "title": "proofAccountBalance", + "description": "The Ether balance of the account or contract of the request", + "$ref": "#/components/schemas/Integer" + }, + "codeHash": { + "title": "proofAccountCodeHash", + "description": "The code hash of the contract of the request (keccak(NULL) if external account)", + "$ref": "#/components/schemas/Keccak" + }, + "nonce": { + "title": "proofAccountNonce", + "description": "The transaction count of the account or contract of the request", + "$ref": "#/components/schemas/Nonce" + }, + "storageHash": { + "title": "proofAccountStorageHash", + "description": "The storage hash of the contract of the request (keccak(rlp(NULL)) if external account)", + "$ref": "#/components/schemas/Keccak" + }, + "storageProof": { + "$ref": "#/components/schemas/StorageProof" + } + } + }, + { + "$ref": "#/components/schemas/Null" + } + ] + } + }, + "examples": [ + { + "name": "eth_getProof example", + "params": [ + { + "name": "Address", + "value": "0xe5cB067E90D5Cd1F8052B83562Ae670bA4A211a8" + }, + { + "name": "StorageKeys", + "value": [ + "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421" + ] + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Account", + "value": { + "accountProof": [ + "0xf90211a06a718c2c9da77c253b12d7b2569657901e37bb691718f5dda1b86157ab1dd5eda0e7f19ed5e21bccc8d3260236b24f80ad88b3634f5d005f37b838881f0e12f1bda0abb301291704e4d92686c0f5f8ebb1734185321559b8d717ffdca95c99591976a0d0c2026bfab65c3b95276bfa82af9dec860b485f8857f293c148d63a2182128fa0c98044ec9a1273a218bed58b478277dd39173ad7b8edb95c200423a6bc8fc25fa056e5a55d9ddccdbf49362857200bbb1f042d61187c9f5f9ddcff5d2f1fc984a2a02a5b7200af424114f99a4b5f0a21c19aac82209e431ed80bfde177adb1004bdfa0026e4374f0518ff44a80fa374838ecb86cc64ac93bb710fea6dff4198f947b27a03fea341d87984673ad523177ed52f278bf4d8f97e6531c8ece932aeede4802f4a0bfe2f4a7fcb78f7e9f080dea7b6977fb1d88c441696e4456dad92b9d34ff0f43a02a3eb5c0edb14626c9c629601027bd60178bb2b688a67cea4d179fc432436615a0747355b8e02f3b884b4ffe5cea1619e32515fea064cca98208591af8c744e894a0874253737bae37f020ad3bb7e3292c7c4a63cdc158af6b33aaa4deaef016dccba03d8192bc1fc6aa1548912e763a0b5013a94399cefad7b47cf388873b2b794068a09b67f9737c6028d796bfd1c5da57a6f45824dc891f848ea0e1f8019d1fb5fba8a0aa871f9de8da85960fcd8a22cdf21c27f11e3966c14a6737ffd414b98dda00b280", + "0xf90211a0d360be1e1da1a0c32bc4c105833bd531e59d110684007b7c50fb2709002973eca0cf6dd1e350a7031b4e2ab49c899fd8bd47551c8565d8fd8d1d7796c83820c3b1a0eb0a88c29bb33989a589156f7bf07d9efc74034dd9d3f5b73385c3b45c3249bea02783c25f97a6ddb8dc07adf4b176991836d39184b1f678adeda832fff15e3664a00a4e288060045e587774d8a64993a7add73068b16863145e1e8eeb4602e18e19a0340851f4046ad1298962d6e47d05c66329549c839c158748aaad7ae00b943aefa085b127bc2a3bd17604283de21b2b3c9aa8f1d4b7b85c94d8105a46fe32c77688a00f531d62b3c5435324c01009c284fe31277e8d38302b75ea01be89f09e205969a00011c8351c0e3d639ac54b9d3a59de630b16a67de8270d7d6064d0a67e93f9cca048780d32b7f2db88650b51c46f46fd0a68795edee1fd5ecee6eb3595741d9669a0c91afd74eaf8e08a997061a62b354e2516fdc494e8e26cc50ceeb8f4a175608ba0e2c07f1b48fab80eecb340f5882e8c7b32ee416e4045c61f1df646a133487303a01a1eff78435a7a29a29463bdc3486ae81364b00bea82ba0fdf67a110770f2261a04f2eb440ba71c72da5fd7f0e439018d6671dc809f747213a1ea755848124e994a074ff9f37fce99daa3ed01dd763076450022996fc729be2cc43c61ec5182c2366a0b80b36b7b621112592f52390b89748d422e9b1517c4b0203b8176a53f89d4a6680", + "0xf90211a0b25f283bd01a8c8b2418049f9585bc37ff2c1e2e12eab4b7f64ae1f26647389aa02ad96c150d7c3c9c194d30315456852cf6a0a940e0191ae5d04007454823d4e9a0b220cf7a855e2dbcc0b973134e2e119b982d7d40dbb1b27d99816c41f40e829aa049224431da84cbf1b7ae813abcc9ef4c1dfc1760f6ddc5d57f7354bf3cbf6cc4a015191f879ac115b362f0257fd3eedb789537e836574a5b1abf1c9982ebe3bdfea07913c1b6e7282569d2d421e9fa2257f5d1698e93303bc49b941704287d7aaefea0a526576981ce6fd9f2bd48dd2ca6d5272f2fbdc85f0ee35a295f6ccd97ae8765a0313fad407f0c737c29024c02a890c4ecc12d7771c05ab7b435e5087a7cdef4d9a0d2044603cba9d4afdaf6fd2470e729ef3a65242de71276f20d59accfa6b53a7ca0457caacb9370c09b15f7d904adefd2308be94e23669ba5f43241ffff5f438a0aa09fb2dd45a383a0cc088a72b14117e1e9b7d6889218f3ac7631e8de644c5cb76da0c675dcd4d3fb692b514851c6106e2b09e6f5661d56a0a32ae02e2efc1515c235a074949a59ff1bdba87548510d6e404ec4532f4456dfdec8e753d92fda11a3088ba0a328c6ab1ab8f70db4d23e95bb163c13ba0c508f063a5b1393a4efd7ff375f05a0c722fe3ce796998269373cbb2fc229b2bdf2c43c6c2df003309422e043ce6c03a024e69343286eec44fa4744f6907209116e5383cff3fa98fe81ba06e7e8d4366680", + "0xf90211a00e99ba2198124b8241ea304551fe973215829e2fbc0438d67922707a2a847432a0bb9ce24fd527879c5fe6dbbec1ef5a05ed9d1ca88e921d140bafbec1112f6a6aa099787fd6c7a1989229c4291ef5267335e66152ce417daea46e66d19cb6f81d1ca0e430ff4b8d5621baa5978673344e78b4d8b4df51431b6e63785267c98a24ce18a0bb3e91a825fe3d42ed270a93e9ad1aabd566c40cb28e622f7f1d7ee967c8afd6a0aa364b0056870c6507bc3262a5f851ecb13684088bdb13996d3cb2db401ce3ffa0a3732eba4c7a6e062665ab5be08acb986c3db87556fb138548cc900ff1e56995a026b088e90c9738b8ce16e853107a937a50d52726a24f9f6ce60f587762eb45a2a006c9d5bc3c064b5c1fb565bff91cace9161c64ae653a329610c1dcf34d434429a06c16df2edc70656d322d0c2403bad7d45bc790ffc3e7adeef856d98ea6afc91ba0ae05ed5d6c34b5da29c2e94d7880aeba0906f95f4ec10b132a1d4766a0701c98a01470a86aa350d1ada0c082eac75de828a851f9c8c7c4aa49b1556fe3a5574966a0334eef025100a6da1033710dd98e0475f29d3d7e397caf618ca71c336c5f4f49a0ef0b3abbebcff34d6a8a8f5cdbfbd154ab3452b58dcb09de58ec983644963675a041857e865ec38e200a13bc1a3cb71c7d69aeef7ffdee8be515c9a5b691ce091fa059edd0eb3bbec36bbf38a19802d4646c00ba821ab55fdeea12e15bab62c4e1e580", + "0xf90211a0af0c7fa65ffcb84c31e68c1cf00e1a20bf8bb497c39883e19b66a99975b03431a0c492cab3623eb7926069794c3c718733e16c5fd0d4a13fb7c752ee9809aac7ada05003cea7132aa70d6f36731d60640a90bcd8f4fd493e4540d5ab1b4943679c0ca0fd700683405b1d2306b586dd3b5b2f92f1692fae20d17cd8b8e59d09b9c6670da01db8683910e46e56e8afeb9fe2b7c35382e5a0914d7b0dd8f0e8cb9981ba7435a0fa7f75d73aa73c35824387bec81388315caa4aee3f4f5562f971beb256c62d49a0ee478e420d83f413e8568dacfd5d83f83a5dd7c45f494b504828e5dc962f0e3ea094b95444a917ac94a675681f6bf851172ad0969801a783a63a71edafed45e7a7a0a0c46586e109abe80fe50361dd582e3f143cb416828239faa43bb2b890869501a0ae051d5d43634c68bf9c97823256cc68580f194dfdbd0c301140c7ca5853430ca0660b9365bb77ec9cdc6eb95516c162dca20727c6f828dbbeb1ae110dde4d3134a09feb1b75e84ff6722e4d837bfb6d207b6ee3b21b86844a01140ce293813b49a1a0ed58a70b04efa3bdc0babe2abfa20824a75d61d52291bfdb5cf08597800764d6a020a2d5d3a83f9e35ad9fd1c448626d90af0eb3efefaa4f2f93207b4096ef5507a0fc8efc4484dcf0a54f0574de9aaade0dcff6ec3599edb9f82efb26b6566dcaeaa032f7e79856db3fd984f72bb2c93d4dab328198d355a61c975fab1f08bdb2046580" + ], + "balance": "0x0", + "codeHash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nonce": "0x0", + "storageHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "storageProof": [ + { + "key": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "proof": [ + "0xf90211a0c87222cccea2bf32759fcee9dbaacbe3ea4165dd6184af6773651c5e00e34a8ba0be90e6e5d1a67ab5587779c60ac136d6a96db62b84c04998a5f03a367346abd6a05344aa1c9ca2e3e56bf98fd718ec43728578d148e1967fbaf8bf17a2a073a0bda011a2f9312c3308640a0d6ceeae218747290f23806067456da1d444c65abae437a0b3097a108bfce79af6699da4ae3003cd4929f0b4576aad655c31cb725bde84c7a0c133d3c637e174f36a73c22b1039eb003da6374bc0929321241badb3efa3c4a9a0f13059f2301ad9862ce02e3f7f3f2c9ab78eb30583764d73654f7f1f8b1e86fda06544e3915748b18204e09df75ff20d2fa6bd8121e2e669699012d54590383d6fa070e3a8e093691581d58fadb560b510262a758037632cd8670d3a36df828976b7a062a88a2900544dc76a32255a6b2b2a2eef8fa68279700c00adc7508286702552a0a474aeebd5603dfce46a6ecd1ecd519068dc034a544fde03ac42d4018e60a334a0b7d528fc41c8fdc8ea18c6e7d0099270c777ec1403cf879d1f5134bdc12a6c6ca04440f1242e42c5bfa7c536591ab89c8e84bea417435871c32eef1e25295b20daa06a5dcfe3cc84cff9d3e3c3ae868cfba8f0dd111a90c3f85869dab5b893f96643a026b2fb9dd7d08b0ed2f1c44fbf875011412a384f86f751c92e1013248d4aa371a0c75597b2b789fc4e939b71937390ce9d7d53159431328ac52180eef08ef200f280", + "0xf90191a0f0c5b800b542001597f2b7a8e106ac0e2849d2cc1df1727ac35c4ea3965f1c9180a08537f2e248702a6ae2a57e9110a5740f5772c876389739ac90debd6a0692713ea00b3a26a05b5494fb3ff6f0b3897688a5581066b20b07ebab9252d169d928717fa0a9a54d84976d134d6dba06a65064c7f3a964a75947d452db6f6bb4b6c47b43aaa01e2a1ed3d1572b872bbf09ee44d2ed737da31f01de3c0f4b4e1f046740066461a076f251d160b9a02eb0b5c1d83b61c9cdd4f37361705e79a45529bf49801fb824a0774a01a624cb14a50d17f2fe4b7ae6af8a67bbb029177ccc3dd729a734484d3ea05921b8a19aebe4fff5a36071e311778f9b93459183fdf7f6d870b401fa25dcbba0c8d71dd13d2806e2865a5c2cfa447f626471bf0b66182a8fd07230434e1cad2680a0e9864fdfaf3693b2602f56cd938ccd494b8634b1f91800ef02203a3609ca4c21a0c69d174ad6b6e58b0bd05914352839ec60915cd066dd2bee2a48016139687f21a0513dd5514fd6bad56871711441d38de2821cc6913cb192416b0385f025650731808080" + ], + "value": "0x1" + } + ] + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getRawTransactionByBlockHashAndIndex", + "summary": "Returns raw transaction data of a transaction with the block hash and index of which it was mined.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + }, + { + "name": "index", + "description": "The ordering in which a transaction is mined within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "name": "rawTransaction", + "description": "The raw transaction data", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_getRawTransactionByBlockHashAndIndex example", + "params": [ + { + "name": "Block hash", + "value": "0xbf137c3a7a1ebdfac21252765e5d7f40d115c2757e4a4abee929be88c624fdb7" + }, + { + "name": "Transaction index", + "value": "0x2" + } + ] + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getRawTransactionByBlockNumberAndIndex", + "summary": "Returns raw transaction data of a transaction with the block number and index of which it was mined.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + }, + { + "name": "index", + "description": "The ordering in which a transaction is mined within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "name": "rawTransaction", + "description": "The raw transaction data", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_getRawTransactionByBlockNumberAndIndex example", + "params": [ + { + "name": "Block", + "value": "0x1442e" + }, + { + "name": "Transaction index", + "value": "0x2" + } + ] + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getRawTransactionByHash", + "summary": "Returns raw transaction data of a transaction with the given hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/TransactionHash" + } + ], + "result": { + "name": "rawTransactionByHash", + "description": "The raw transaction data", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "examples": [ + { + "name": "eth_getRawTransactionByHash example", + "params": [ + { + "name": "Transaction hash", + "value": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44" + } + ] + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getStorageAt", + "summary": "Gets a storage value from a contract address, a position, and an optional blockNumber", + "params": [ + { + "$ref": "#/components/contentDescriptors/Address" + }, + { + "$ref": "#/components/contentDescriptors/Position" + }, + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "dataWord", + "schema": { + "$ref": "#/components/schemas/DataWord" + } + }, + "examples": [ + { + "name": "eth_getStorageAt example", + "params": [ + { + "name": "Address", + "value": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73" + }, + { + "name": "Storage slot", + "value": "0x0" + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Value", + "value": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionByBlockHashAndIndex", + "summary": "Returns the information about a transaction requested by the block hash and index of which it was mined.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + }, + { + "name": "index", + "description": "The ordering in which a transaction is mined within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "$ref": "#/components/contentDescriptors/TransactionResult" + }, + "examples": [ + { + "name": "nullExample", + "params": [ + { + "name": "blockHashExample", + "value": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" + }, + { + "name": "indexExample", + "value": "0x0" + } + ], + "result": { + "name": "nullResultExample", + "value": null + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionByBlockNumberAndIndex", + "summary": "Returns the information about a transaction requested by the block number and index of which it was mined.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + }, + { + "name": "index", + "description": "The ordering in which a transaction is mined within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "$ref": "#/components/contentDescriptors/TransactionResult" + }, + "examples": [ + { + "name": "eth_getTransactionByBlockNumberAndIndex example", + "params": [ + { + "name": "Block", + "value": "0x1442e" + }, + { + "name": "Transaction index", + "value": "0x2" + } + ], + "result": { + "name": "Transaction information", + "value": { + "blockHash": "0x510efccf44a192e6e34bcb439a1947e24b86244280762cbb006858c237093fda", + "blockNumber": "0x422", + "chainId": 2018, + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0x5208", + "gasPrice": "0x3b9aca00", + "hash": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44", + "input": "0x", + "nonce": "0x1", + "to": "0x627306090abab3a6e1400e9345bc60c78a8bef57", + "transactionIndex": "0x0", + "value": "0x4e1003b28d9280000", + "v": "0xfe7", + "r": "0x84caf09aefbd5e539295acc67217563438a4efb224879b6855f56857fa2037d3", + "s": "0x5e863be3829812c81439f0ae9d8ecb832b531d651fb234c848d1bf45e62be8b9" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionByHash", + "summary": "Returns the information about a transaction requested by transaction hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/TransactionHash" + } + ], + "result": { + "$ref": "#/components/contentDescriptors/TransactionResult" + }, + "examples": [ + { + "name": "eth_getTransactionByHash example", + "params": [ + { + "name": "Transaction hash", + "value": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44" + } + ], + "result": { + "name": "Transaction information", + "value": { + "blockHash": "0x510efccf44a192e6e34bcb439a1947e24b86244280762cbb006858c237093fda", + "blockNumber": "0x422", + "chainId": 2018, + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0x5208", + "gasPrice": "0x3b9aca00", + "hash": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44", + "input": "0x", + "nonce": "0x1", + "to": "0x627306090abab3a6e1400e9345bc60c78a8bef57", + "transactionIndex": "0x0", + "value": "0x4e1003b28d9280000", + "v": "0xfe7", + "r": "0x84caf09aefbd5e539295acc67217563438a4efb224879b6855f56857fa2037d3", + "s": "0x5e863be3829812c81439f0ae9d8ecb832b531d651fb234c848d1bf45e62be8b9" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionCount", + "summary": "Returns the number of transactions sent from an address", + "params": [ + { + "$ref": "#/components/contentDescriptors/Address" + }, + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "name": "transactionCount", + "schema": { + "title": "nonceOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Nonce" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + } + }, + "examples": [ + { + "name": "eth_getTransactionCount example", + "params": [ + { + "name": "Address", + "value": "0xc94770007dda54cF92009BFF0dE90c06F603a09f" + }, + { + "name": "Block", + "value": "latest" + } + ], + "result": { + "name": "Transaction count", + "value": "0x1" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getTransactionReceipt", + "summary": "Returns the receipt information of a transaction by its hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/TransactionHash" + } + ], + "result": { + "name": "transactionReceiptResult", + "description": "returns either a receipt or null", + "schema": { + "title": "transactionReceiptOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Receipt" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + } + }, + "examples": [ + { + "name": "eth_getTransactionReceipt example", + "params": [ + { + "name": "Transaction hash", + "value": "0x504ce587a65bdbdb6414a0c6c16d86a04dd79bfcc4f2950eec9634b30ce5370f" + } + ], + "result": { + "name": "Receipt information", + "value": { + "blockHash": "0xe7212a92cfb9b06addc80dec2a0dfae9ea94fd344efeb157c41e12994fcad60a", + "blockNumber": "0x50", + "contractAddress": null, + "cumulativeGasUsed": "0x5208", + "from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", + "gasUsed": "0x5208", + "blobGasUsed": "0x20000", + "effectiveGasPrice": "0x1", + "blobGasPrice": "0x3", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "status": "0x1", + "to": "0xf17f52151ebef6c7334fad080c5704d77216b732", + "transactionHash": "0xc00e97af59c6f88de163306935f7682af1a34c67245e414537d02e422815efc3", + "transactionIndex": "0x0" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getUncleByBlockHashAndIndex", + "summary": "Returns information about a uncle of a block by hash and uncle index position.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + }, + { + "name": "index", + "description": "The ordering in which a uncle is included within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "name": "uncle", + "schema": { + "$ref": "#/components/schemas/BlockOrNull" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_getUncleByBlockNumberAndIndex", + "summary": "Returns information about a uncle of a block by hash and uncle index position.", + "params": [ + { + "name": "uncleBlockNumber", + "description": "The block in which the uncle was included", + "required": true, + "schema": { + "$ref": "#/components/schemas/BlockNumber" + } + }, + { + "name": "index", + "description": "The ordering in which a uncle is included within its block.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Integer" + } + } + ], + "result": { + "name": "uncleResult", + "description": "returns an uncle block or null", + "schema": { + "$ref": "#/components/schemas/BlockOrNull" + } + }, + "examples": [ + { + "name": "nullResultExample", + "params": [ + { + "name": "uncleBlockNumberExample", + "value": "0x0" + }, + { + "name": "uncleBlockNumberIndexExample", + "value": "0x0" + } + ], + "result": { + "name": "nullResultExample", + "value": null + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getUncleCountByBlockHash", + "summary": "Returns the number of uncles in a block from a block matching the given block hash.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockHash" + } + ], + "result": { + "name": "uncleCountResult", + "description": "The Number of total uncles in the given block", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "examples": [ + { + "name": "eth_getUncleCountByBlockHash example", + "params": [ + { + "name": "Block hash", + "value": "0xb3b20624f8f0f86eb50dd04688409e5cea4bd02d700bf6e79e9384d47d6a5a35" + } + ], + "result": { + "name": "Uncle count", + "value": "0x1" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getUncleCountByBlockNumber", + "summary": "Returns the number of uncles in a block from a block matching the given block number.", + "params": [ + { + "$ref": "#/components/contentDescriptors/BlockNumber" + } + ], + "result": { + "$ref": "#/components/contentDescriptors/UncleCountResult" + }, + "examples": [ + { + "name": "eth_getUncleCountByBlockNumber example", + "params": [ + { + "name": "Block", + "value": "0xe8" + } + ], + "result": { + "name": "Uncle count", + "value": "0x1" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_getWork", + "summary": "Returns the hash of the current block, the seedHash, and the boundary condition to be met ('target').", + "params": [], + "result": { + "name": "work", + "schema": { + "title": "getWorkResults", + "type": "array", + "items": [ + { + "$ref": "#/components/schemas/PowHash" + }, + { + "$ref": "#/components/schemas/SeedHash" + }, + { + "$ref": "#/components/schemas/Difficulty" + } + ] + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_hashrate", + "summary": "Returns the number of hashes per second that the node is mining with.", + "params": [], + "result": { + "name": "hashesPerSecond", + "description": "Integer of the number of hashes per second", + "schema": { + "$ref": "#/components/schemas/Integer" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_mining", + "summary": "Returns true if client is actively mining new blocks.", + "params": [], + "result": { + "name": "mining", + "description": "Whether or not the client is mining", + "schema": { + "type": "boolean" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_newBlockFilter", + "summary": "Creates a filter in the node, to notify when a new block arrives. To check if the state has changed, call eth_getFilterChanges.", + "params": [], + "result": { + "$ref": "#/components/contentDescriptors/FilterId" + }, + "examples": [ + { + "name": "eth_newBlockFilter example", + "params": [], + "result": { + "name": "Filter identifier", + "value": "0x01" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_newFilter", + "summary": "Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call eth_getFilterChanges.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Filter" + } + ], + "result": { + "name": "filterId", + "description": "The filter ID for use in `eth_getFilterChanges`", + "schema": { + "$ref": "#/components/schemas/Integer" + } + }, + "examples": [ + { + "name": "eth_newFilter example", + "params": [ + { + "name": "Filter", + "value": { + "fromBlock": "0x137d3c2", + "toBlock": "0x137d3c3", + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [] + } + } + ], + "result": { + "name": "Filter identifier", + "value": "0x01" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_newPendingTransactionFilter", + "summary": "Creates a filter in the node, to notify when new pending transactions arrive. To check if the state has changed, call eth_getFilterChanges.", + "params": [], + "result": { + "$ref": "#/components/contentDescriptors/FilterId" + }, + "examples": [ + { + "name": "eth_newPendingTransactionFilter example", + "params": [], + "result": { + "name": "Filter identifier", + "value": "0x01" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_pendingTransactions", + "summary": "Returns the transactions that are pending in the transaction pool and have a from address that is one of the accounts this node manages.", + "params": [], + "result": { + "name": "pendingTransactions", + "schema": { + "$ref": "#/components/schemas/Transactions" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_protocolVersion", + "summary": "Returns the current ethereum protocol version.", + "params": [], + "result": { + "name": "protocolVersion", + "description": "The current ethereum protocol version", + "schema": { + "$ref": "#/components/schemas/Integer" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_sendRawTransaction", + "summary": "Creates new message call transaction or a contract creation for signed transactions.", + "params": [ + { + "name": "signedTransactionData", + "required": true, + "description": "The signed transaction data", + "schema": { + "$ref": "#/components/schemas/Bytes" + } + } + ], + "result": { + "name": "transactionHash", + "description": "The transaction hash, or the zero hash if the transaction is not yet available.", + "schema": { + "$ref": "#/components/schemas/Keccak" + } + }, + "examples": [ + { + "name": "eth_sendRawTransaction example", + "params": [ + { + "name": "Transaction", + "value": "0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833" + } + ], + "result": { + "name": "Transaction hash", + "value": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331" + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_submitHashrate", + "deprecated": true, + "summary": "Used for submitting mining hashrate.", + "params": [ + { + "name": "hashRate", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataWord" + } + }, + { + "name": "id", + "required": true, + "description": "String identifying the client", + "schema": { + "$ref": "#/components/schemas/DataWord" + } + } + ], + "result": { + "name": "submitHashRateSuccess", + "description": "whether of not submitting went through successfully", + "schema": { + "type": "boolean" + } + }, + "x-cu-cost": 1 + }, + { + "name": "eth_submitWork", + "summary": "Used for submitting a proof-of-work solution.", + "params": [ + { + "$ref": "#/components/contentDescriptors/Nonce" + }, + { + "name": "powHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/PowHash" + } + }, + { + "name": "mixHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/MixHash" + } + } + ], + "result": { + "name": "solutionValid", + "description": "returns true if the provided solution is valid, otherwise false.", + "schema": { + "type": "boolean" + } + }, + "examples": [ + { + "name": "submitWorkExample", + "params": [ + { + "name": "nonceExample", + "description": "example of a number only used once", + "value": "0x0000000000000001" + }, + { + "name": "powHashExample", + "description": "proof of work to submit", + "value": "0x6bf2cAE0dE3ec3ecA5E194a6C6e02cf42aADfe1C2c4Fff12E5D36C3Cf7297F22" + }, + { + "name": "mixHashExample", + "description": "the mix digest example", + "value": "0xD1FE5700000000000000000000000000D1FE5700000000000000000000000000" + } + ], + "result": { + "name": "solutionInvalidExample", + "description": "this example should return `false` as it is not a valid pow to submit", + "value": false + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_syncing", + "summary": "Returns an object with data about the sync status or false.", + "params": [], + "result": { + "name": "syncing", + "schema": { + "title": "isSyncingResult", + "oneOf": [ + { + "title": "syncingData", + "description": "An object with sync status data", + "type": "object", + "properties": { + "startingBlock": { + "title": "syncingDataStartingBlock", + "description": "Block at which the import started (will only be reset, after the sync reached his head)", + "$ref": "#/components/schemas/Integer" + }, + "currentBlock": { + "title": "syncingDataCurrentBlock", + "description": "The current block, same as eth_blockNumber", + "$ref": "#/components/schemas/Integer" + }, + "highestBlock": { + "title": "syncingDataHighestBlock", + "description": "The estimated highest block", + "$ref": "#/components/schemas/Integer" + }, + "knownStates": { + "title": "syncingDataKnownStates", + "description": "The known states", + "$ref": "#/components/schemas/Integer" + }, + "pulledStates": { + "title": "syncingDataPulledStates", + "description": "The pulled states", + "$ref": "#/components/schemas/Integer" + } + } + }, + { + "type": "boolean" + } + ] + } + }, + "examples": [ + { + "name": "eth_syncing example", + "params": [], + "result": { + "name": "Syncing status", + "value": { + "startingBlock": "0x0", + "currentBlock": "0x1518", + "highestBlock": "0x9567a3" + } + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "eth_uninstallFilter", + "summary": "Uninstalls a filter with given id. Should always be called when watch is no longer needed. Additionally Filters timeout when they aren't requested with eth_getFilterChanges for a period of time.", + "params": [ + { + "name": "filterId", + "required": true, + "schema": { + "$ref": "#/components/schemas/FilterId" + } + } + ], + "result": { + "name": "filterUninstalledSuccess", + "description": "returns true if the filter was successfully uninstalled, false otherwise.", + "schema": { + "type": "boolean" + } + }, + "examples": [ + { + "name": "eth_uninstallFilter example", + "params": [ + { + "name": "Filter identifier", + "value": "0x01" + } + ], + "result": { + "name": "Success", + "value": true + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "net_listening", + "summary": "eturns listening status", + "description": "Determines if this client is listening for new network connections.", + "params": [], + "result": { + "name": "netListeningResult", + "description": "`true` if listening is active or `false` if listening is not active", + "schema": { + "title": "isNetListening", + "type": "boolean" + } + }, + "examples": [ + { + "name": "netListeningTrueExample", + "description": "example of true result for net_listening", + "params": [], + "result": { + "name": "netListeningExampleFalseResult", + "value": true + } + } + ], + "x-cu-cost": 1 + }, + { + "name": "net_peerCount", + "summary": "number of peers", + "description": "Returns the number of peers currently connected to this client.", + "params": [], + "result": { + "name": "quantity", + "description": "number of connected peers.", + "schema": { + "title": "numConnectedPeers", + "description": "Hex representation of number of connected peers", + "type": "string" + } + }, + "x-cu-cost": 1 + }, + { + "name": "net_version", + "summary": "Network identifier associated with network", + "description": "Returns the network ID associated with the current network.", + "params": [], + "result": { + "name": "networkId", + "description": "Network ID associated with the current network", + "schema": { + "title": "networkId", + "type": "string", + "pattern": "^[\\d]+$" + } + }, + "x-cu-cost": 1 + }, + { + "name": "trace_callMany", + "summary": "Executes multiple call traces on the same block state without committing any state changes.", + "params": [ + { + "name": "calls", + "required": true, + "schema": { + "type": "array", + "minItems": 1, + "items": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": [ + { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + "to": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + "gas": { + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + "gasPrice": { + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + "value": { + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + "data": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]*$" + } + }, + "required": [ + "to" + ] + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "enum": [ + "trace", + "vmTrace", + "stateDiff" + ] + } + } + ] + } + }, + "description": "List of call objects paired with requested trace types" + }, + { + "name": "blockParameter", + "required": true, + "schema": { + "oneOf": [ + { + "type": "string", + "enum": [ + "latest", + "pending" + ] + }, + { + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + } + ] + }, + "description": "Block context used for call execution" + } + ], + "result": { + "name": "results", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "output": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]*$" + }, + "trace": { + "type": "array" + }, + "vmTrace": { + "type": "object" + }, + "stateDiff": { + "type": "object" + } + }, + "additionalProperties": true + } + } + }, + "x-cu-cost": 20 + }, + { + "name": "trace_filter", + "summary": "Returns traces created by transactions within a given block range and address filter.", + "params": [ + { + "name": "filter", + "required": true, + "schema": { + "type": "object", + "properties": { + "fromBlock": { + "type": "string", + "oneOf": [ + { + "enum": [ + "earliest", + "latest", + "pending" + ] + }, + { + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + } + ] + }, + "toBlock": { + "type": "string", + "oneOf": [ + { + "enum": [ + "earliest", + "latest", + "pending" + ] + }, + { + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + } + ] + }, + "fromAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + } + } + ] + }, + "toAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{40}$" + } + } + ] + }, + "after": { + "type": "integer", + "minimum": 0 + }, + "count": { + "type": "integer", + "minimum": 1 + } + }, + "additionalProperties": false + }, + "description": "Trace filter object" + } + ], + "result": { + "name": "traces", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "action": { + "type": "object" + }, + "result": { + "type": "object" + }, + "traceAddress": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0 + } + }, + "subtraces": { + "type": "integer", + "minimum": 0 + }, + "type": { + "type": "string" + }, + "blockHash": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + "blockNumber": { + "type": "integer", + "minimum": 0 + }, + "transactionHash": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + "transactionPosition": { + "type": "integer", + "minimum": 0 + } + }, + "additionalProperties": true + } + } + }, + "x-cu-cost": 1 + }, + { + "name": "web3_clientVersion", + "description": "Returns the version of the current client", + "summary": "current client version", + "params": [], + "result": { + "name": "clientVersion", + "description": "client version", + "schema": { + "title": "clientVersion", + "type": "string" + } + }, + "x-cu-cost": 1 + }, + { + "name": "web3_sha3", + "summary": "Hashes data", + "description": "Hashes data using the Keccak-256 algorithm", + "params": [ + { + "name": "data", + "description": "data to hash using the Keccak-256 algorithm", + "summary": "data to hash", + "schema": { + "title": "data", + "type": "string", + "pattern": "^0x[a-fA-F\\d]+$" + } + } + ], + "result": { + "name": "hashedData", + "description": "Keccak-256 hash of the given data", + "schema": { + "type": "string", + "description": "Hex representation of a Keccak 256 hash", + "pattern": "^0x[a-fA-F\\d]{64}$" + } + }, + "examples": [ + { + "name": "sha3Example", + "params": [ + { + "name": "sha3ParamExample", + "value": "0x68656c6c6f20776f726c64" + } + ], + "result": { + "name": "sha3ResultExample", + "value": "0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad" + } + } + ], + "x-cu-cost": 1 + } + ], + "components": { + "schemas": { + "ProofNode": { + "title": "proofNode", + "description": "An individual node used to prove a path down a merkle-patricia-tree", + "$ref": "#/components/schemas/Bytes" + }, + "StorageProofKey": { + "title": "storageProofKey", + "description": "The key used to get the storage slot in its account tree.", + "$ref": "#/components/schemas/Integer" + }, + "StorageProof": { + "title": "storageProofSet", + "type": "array", + "description": "Current block header PoW hash.", + "items": { + "title": "storageProof", + "type": "object", + "description": "Object proving a relationship of a storage value to an account's storageHash.", + "properties": { + "key": { + "$ref": "#/components/schemas/StorageProofKey" + }, + "value": { + "title": "storageProofValue", + "description": "The value of the storage slot in its account tree", + "$ref": "#/components/schemas/Integer" + }, + "proof": { + "$ref": "#/components/schemas/ProofNodes" + } + } + } + }, + "StorageKey": { + "title": "Storage Key", + "description": "Keccak-256 hash of a contract storage slot", + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + "StorageRangeResult": { + "title": "Storage Range Result", + "description": "Result of a storage range query for a contract", + "type": "object", + "properties": { + "storage": { + "type": "object", + "description": "Mapping of storage slot hash to value", + "additionalProperties": { + "type": "object", + "properties": { + "key": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + "value": { + "type": "string", + "pattern": "^0x[0-9a-fA-F]*$" + } + }, + "required": [ + "key", + "value" + ], + "additionalProperties": false + } + }, + "nextKey": { + "description": "Storage key to use as startKey for the next page", + "oneOf": [ + { + "type": "string", + "pattern": "^0x[0-9a-fA-F]{64}$" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "storage" + ], + "additionalProperties": false + }, + "Quantity": { + "title": "Quantity", + "description": "Hex-encoded unsigned integer, prefixed with 0x, without leading zeroes", + "type": "string", + "pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$" + }, + "ProofNodes": { + "title": "proofNodes", + "type": "array", + "description": "The set of node values needed to traverse a patricia merkle tree (from root to leaf) to retrieve a value", + "items": { + "$ref": "#/components/schemas/ProofNode" + } + }, + "PowHash": { + "title": "powHash", + "description": "Current block header PoW hash.", + "$ref": "#/components/schemas/DataWord" + }, + "SeedHash": { + "title": "seedHash", + "description": "The seed hash used for the DAG.", + "$ref": "#/components/schemas/DataWord" + }, + "MixHash": { + "title": "mixHash", + "description": "The mix digest.", + "$ref": "#/components/schemas/DataWord" + }, + "Difficulty": { + "title": "difficulty", + "description": "The boundary condition ('target'), 2^256 / difficulty.", + "$ref": "#/components/schemas/DataWord" + }, + "FilterId": { + "title": "filterId", + "type": "string", + "description": "An identifier used to reference the filter." + }, + "BlockHash": { + "title": "blockHash", + "type": "string", + "pattern": "^0x[a-fA-F\\d]{64}$", + "description": "The hex representation of the Keccak 256 of the RLP encoded block" + }, + "BlockNumber": { + "title": "blockNumber", + "type": "string", + "description": "The hex representation of the block's height", + "$ref": "#/components/schemas/Integer" + }, + "BlockNumberTag": { + "title": "blockNumberTag", + "type": "string", + "description": "The optional block height description", + "enum": [ + "earliest", + "latest", + "pending" + ] + }, + "BlockOrNull": { + "title": "blockOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Block" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "IntegerOrNull": { + "title": "integerOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Integer" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "AddressOrNull": { + "title": "addressOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Address" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "Receipt": { + "title": "receipt", + "type": "object", + "description": "The receipt of a transaction", + "required": [ + "blockHash", + "blockNumber", + "contractAddress", + "cumulativeGasUsed", + "from", + "gasUsed", + "logs", + "logsBloom", + "to", + "transactionHash", + "transactionIndex" + ], + "properties": { + "blockHash": { + "$ref": "#/components/schemas/BlockHash" + }, + "blockNumber": { + "$ref": "#/components/schemas/BlockNumber" + }, + "contractAddress": { + "title": "ReceiptContractAddress", + "description": "The contract address created, if the transaction was a contract creation, otherwise null", + "$ref": "#/components/schemas/AddressOrNull" + }, + "cumulativeGasUsed": { + "title": "ReceiptCumulativeGasUsed", + "description": "The gas units used by the transaction", + "$ref": "#/components/schemas/Integer" + }, + "from": { + "$ref": "#/components/schemas/From" + }, + "gasUsed": { + "title": "ReceiptGasUsed", + "description": "The total gas used by the transaction", + "$ref": "#/components/schemas/Integer" + }, + "logs": { + "title": "logs", + "type": "array", + "description": "An array of all the logs triggered during the transaction", + "items": { + "$ref": "#/components/schemas/Log" + } + }, + "logsBloom": { + "$ref": "#/components/schemas/BloomFilter" + }, + "to": { + "$ref": "#/components/schemas/To" + }, + "transactionHash": { + "$ref": "#/components/schemas/TransactionHash" + }, + "transactionIndex": { + "$ref": "#/components/schemas/TransactionIndex" + }, + "postTransactionState": { + "title": "ReceiptPostTransactionState", + "description": "The intermediate stateRoot directly after transaction execution.", + "$ref": "#/components/schemas/Keccak" + }, + "status": { + "title": "ReceiptStatus", + "description": "Whether or not the transaction threw an error.", + "type": "boolean" + } + } + }, + "BloomFilter": { + "title": "bloomFilter", + "type": "string", + "description": "A 2048 bit bloom filter from the logs of the transaction. Each log sets 3 bits though taking the low-order 11 bits of each of the first three pairs of bytes in a Keccak 256 hash of the log's byte series" + }, + "Log": { + "title": "log", + "type": "object", + "description": "An indexed event generated during a transaction", + "properties": { + "address": { + "title": "LogAddress", + "description": "Sender of the transaction", + "$ref": "#/components/schemas/Address" + }, + "blockHash": { + "$ref": "#/components/schemas/BlockHash" + }, + "blockNumber": { + "$ref": "#/components/schemas/BlockNumber" + }, + "data": { + "title": "LogData", + "description": "The data/input string sent along with the transaction", + "$ref": "#/components/schemas/Bytes" + }, + "logIndex": { + "title": "LogIndex", + "description": "The index of the event within its transaction, null when its pending", + "$ref": "#/components/schemas/Integer" + }, + "removed": { + "title": "logIsRemoved", + "description": "Whether or not the log was orphaned off the main chain", + "type": "boolean" + }, + "topics": { + "$ref": "#/components/schemas/Topics" + }, + "transactionHash": { + "$ref": "#/components/schemas/TransactionHash" + }, + "transactionIndex": { + "$ref": "#/components/schemas/TransactionIndex" + } + } + }, + "Topics": { + "title": "LogTopics", + "description": "Topics are order-dependent. Each topic can also be an array of DATA with 'or' options.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Topic" + } + }, + "Topic": { + "title": "topic", + "description": "32 Bytes DATA of indexed log arguments. (In solidity: The first topic is the hash of the signature of the event (e.g. Deposit(address,bytes32,uint256))", + "$ref": "#/components/schemas/DataWord" + }, + "TransactionIndex": { + "title": "transactionIndex", + "description": "The index of the transaction. null when its pending", + "$ref": "#/components/schemas/IntegerOrNull" + }, + "BlockNumberOrNull": { + "title": "blockNumberOrNull", + "description": "The block number or null when its the pending block", + "oneOf": [ + { + "$ref": "#/components/schemas/BlockNumber" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "BlockHashOrNull": { + "title": "blockHashOrNull", + "description": "The block hash or null when its the pending block", + "$ref": "#/components/schemas/KeccakOrPending" + }, + "NonceOrNull": { + "title": "nonceOrNull", + "description": "Randomly selected number to satisfy the proof-of-work or null when its the pending block", + "oneOf": [ + { + "$ref": "#/components/schemas/Nonce" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "From": { + "title": "From", + "description": "The sender of the transaction", + "$ref": "#/components/schemas/Address" + }, + "To": { + "title": "To", + "description": "Destination address of the transaction. Null if it was a contract create.", + "oneOf": [ + { + "$ref": "#/components/schemas/Address" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "Block": { + "title": "Block", + "description": "The Block is the collection of relevant pieces of information (known as the block header), together with information corresponding to the comprised transactions, and a set of other block headers that are known to have a parent equal to the present block’s parent’s parent.", + "type": "object", + "properties": { + "number": { + "$ref": "#/components/schemas/BlockNumberOrNull" + }, + "hash": { + "$ref": "#/components/schemas/BlockHashOrNull" + }, + "parentHash": { + "$ref": "#/components/schemas/BlockHash" + }, + "nonce": { + "$ref": "#/components/schemas/NonceOrNull" + }, + "sha3Uncles": { + "title": "blockShaUncles", + "description": "Keccak hash of the uncles data in the block", + "$ref": "#/components/schemas/Keccak" + }, + "logsBloom": { + "title": "blockLogsBloom", + "type": "string", + "description": "The bloom filter for the logs of the block or null when its the pending block", + "pattern": "^0x[a-fA-F\\d]+$" + }, + "transactionsRoot": { + "title": "blockTransactionsRoot", + "description": "The root of the transactions trie of the block.", + "$ref": "#/components/schemas/Keccak" + }, + "stateRoot": { + "title": "blockStateRoot", + "description": "The root of the final state trie of the block", + "$ref": "#/components/schemas/Keccak" + }, + "receiptsRoot": { + "title": "blockReceiptsRoot", + "description": "The root of the receipts trie of the block", + "$ref": "#/components/schemas/Keccak" + }, + "miner": { + "$ref": "#/components/schemas/AddressOrNull" + }, + "difficulty": { + "title": "blockDifficulty", + "type": "string", + "description": "Integer of the difficulty for this block" + }, + "totalDifficulty": { + "title": "blockTotalDifficulty", + "description": "Integer of the total difficulty of the chain until this block", + "$ref": "#/components/schemas/IntegerOrNull" + }, + "extraData": { + "title": "blockExtraData", + "type": "string", + "description": "The 'extra data' field of this block" + }, + "size": { + "title": "blockSize", + "type": "string", + "description": "Integer the size of this block in bytes" + }, + "gasLimit": { + "title": "blockGasLimit", + "type": "string", + "description": "The maximum gas allowed in this block" + }, + "gasUsed": { + "title": "blockGasUsed", + "type": "string", + "description": "The total used gas by all transactions in this block" + }, + "timestamp": { + "title": "blockTimeStamp", + "type": "string", + "description": "The unix timestamp for when the block was collated" + }, + "transactions": { + "title": "transactionsOrHashes", + "description": "Array of transaction objects, or 32 Bytes transaction hashes depending on the last given parameter", + "type": "array", + "items": { + "title": "transactionOrTransactionHash", + "oneOf": [ + { + "$ref": "#/components/schemas/Transaction" + }, + { + "$ref": "#/components/schemas/TransactionHash" + } + ] + } + }, + "uncles": { + "title": "uncleHashes", + "description": "Array of uncle hashes", + "type": "array", + "items": { + "title": "uncleHash", + "description": "Block hash of the RLP encoding of an uncle block", + "$ref": "#/components/schemas/Keccak" + } + } + } + }, + "Transaction": { + "title": "transaction", + "type": "object", + "required": [ + "gas", + "gasPrice", + "nonce" + ], + "properties": { + "blockHash": { + "$ref": "#/components/schemas/BlockHashOrNull" + }, + "blockNumber": { + "$ref": "#/components/schemas/BlockNumberOrNull" + }, + "from": { + "$ref": "#/components/schemas/From" + }, + "gas": { + "title": "transactionGas", + "type": "string", + "description": "The gas limit provided by the sender in Wei" + }, + "gasPrice": { + "title": "transactionGasPrice", + "type": "string", + "description": "The gas price willing to be paid by the sender in Wei" + }, + "hash": { + "$ref": "#/components/schemas/TransactionHash" + }, + "input": { + "title": "transactionInput", + "type": "string", + "description": "The data field sent with the transaction" + }, + "nonce": { + "title": "transactionNonce", + "description": "The total number of prior transactions made by the sender", + "$ref": "#/components/schemas/Nonce" + }, + "to": { + "$ref": "#/components/schemas/To" + }, + "transactionIndex": { + "$ref": "#/components/schemas/TransactionIndex" + }, + "value": { + "title": "transactionValue", + "description": "Value of Ether being transferred in Wei", + "$ref": "#/components/schemas/Keccak" + }, + "v": { + "title": "transactionSigV", + "type": "string", + "description": "ECDSA recovery id" + }, + "r": { + "title": "transactionSigR", + "type": "string", + "description": "ECDSA signature r" + }, + "s": { + "title": "transactionSigS", + "type": "string", + "description": "ECDSA signature s" + } + } + }, + "Transactions": { + "title": "transactions", + "description": "An array of transactions", + "type": "array", + "items": { + "$ref": "#/components/schemas/Transaction" + } + }, + "TransactionHash": { + "title": "transactionHash", + "type": "string", + "description": "Keccak 256 Hash of the RLP encoding of a transaction", + "$ref": "#/components/schemas/Keccak" + }, + "KeccakOrPending": { + "title": "keccakOrPending", + "oneOf": [ + { + "$ref": "#/components/schemas/Keccak" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + }, + "Keccak": { + "title": "keccak", + "type": "string", + "description": "Hex representation of a Keccak 256 hash", + "pattern": "^0x[a-fA-F\\d]{64}$" + }, + "Nonce": { + "title": "nonce", + "description": "A number only to be used once", + "$ref": "#/components/schemas/Integer" + }, + "Null": { + "title": "null", + "type": "null", + "description": "Null" + }, + "Integer": { + "title": "integer", + "type": "string", + "pattern": "^0x[a-fA-F0-9]+$", + "description": "Hex representation of the integer" + }, + "Address": { + "title": "address", + "type": "string", + "pattern": "^0x[a-fA-F\\d]{40}$" + }, + "Addresses": { + "title": "addresses", + "type": "array", + "description": "List of contract addresses from which to monitor events", + "items": { + "$ref": "#/components/schemas/Address" + } + }, + "Position": { + "title": "position", + "type": "string", + "description": "Hex representation of the storage slot where the variable exists", + "pattern": "^0x([a-fA-F0-9]?)+$" + }, + "DataWord": { + "title": "dataWord", + "type": "string", + "description": "Hex representation of a 256 bit unit of data", + "pattern": "^0x([a-fA-F\\d]{64})?$" + }, + "Bytes": { + "title": "bytes", + "type": "string", + "description": "Hex representation of a variable length byte array", + "pattern": "^0x([a-fA-F0-9]?)+$" + } + }, + "contentDescriptors": { + "Block": { + "name": "block", + "summary": "A block", + "description": "A block object", + "schema": { + "$ref": "#/components/schemas/Block" + } + }, + "Null": { + "name": "Null", + "description": "JSON Null value", + "summary": "Null value", + "schema": { + "$ref": "#/components/schemas/Null" + } + }, + "Signature": { + "name": "signature", + "summary": "The signature.", + "required": true, + "schema": { + "title": "signatureBytes", + "type": "string", + "description": "Hex representation of byte array between 2 and 65 chars long", + "pattern": "0x^([A-Fa-f0-9]{2}){65}$" + } + }, + "GasPrice": { + "name": "gasPrice", + "required": true, + "schema": { + "title": "gasPriceResult", + "description": "Integer of the current gas price", + "$ref": "#/components/schemas/Integer" + } + }, + "Transaction": { + "required": true, + "name": "transaction", + "schema": { + "$ref": "#/components/schemas/Transaction" + } + }, + "TransactionResult": { + "name": "transactionResult", + "description": "Returns a transaction or null", + "schema": { + "title": "TransactionOrNull", + "oneOf": [ + { + "$ref": "#/components/schemas/Transaction" + }, + { + "$ref": "#/components/schemas/Null" + } + ] + } + }, + "UncleCountResult": { + "name": "uncleCountResult", + "description": "The Number of total uncles in the given block", + "schema": { + "$ref": "#/components/schemas/IntegerOrNull" + } + }, + "Message": { + "name": "message", + "required": true, + "schema": { + "$ref": "#/components/schemas/Bytes" + } + }, + "Filter": { + "name": "filter", + "required": true, + "schema": { + "title": "filter", + "type": "object", + "description": "A filter used to monitor the blockchain for log/events", + "properties": { + "fromBlock": { + "$ref": "#/components/schemas/BlockNumber" + }, + "toBlock": { + "$ref": "#/components/schemas/BlockNumber" + }, + "address": { + "title": "oneOrArrayOfAddresses", + "oneOf": [ + { + "$ref": "#/components/schemas/Address" + }, + { + "$ref": "#/components/schemas/Addresses" + } + ] + }, + "topics": { + "$ref": "#/components/schemas/Topics" + } + } + } + }, + "Address": { + "name": "address", + "required": true, + "schema": { + "$ref": "#/components/schemas/Address" + } + }, + "BlockHash": { + "name": "blockHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/BlockHash" + } + }, + "Nonce": { + "name": "nonce", + "required": true, + "schema": { + "$ref": "#/components/schemas/Nonce" + } + }, + "Position": { + "name": "key", + "required": true, + "schema": { + "$ref": "#/components/schemas/Position" + } + }, + "Logs": { + "name": "logs", + "description": "An array of all logs matching filter with given id.", + "schema": { + "title": "setOfLogs", + "type": "array", + "items": { + "$ref": "#/components/schemas/Log" + } + } + }, + "FilterId": { + "name": "filterId", + "schema": { + "$ref": "#/components/schemas/FilterId" + } + }, + "BlockNumber": { + "name": "blockNumber", + "required": true, + "schema": { + "title": "blockNumberOrTag", + "oneOf": [ + { + "$ref": "#/components/schemas/BlockNumber" + }, + { + "$ref": "#/components/schemas/BlockNumberTag" + } + ] + } + }, + "TransactionHash": { + "name": "transactionHash", + "required": true, + "schema": { + "$ref": "#/components/schemas/TransactionHash" + } + } + } + } +} \ No newline at end of file