From c6e0f63b87d2e1c0e216d55669f98990105f474c Mon Sep 17 00:00:00 2001 From: sam bacha Date: Sun, 11 Aug 2024 20:49:43 -0700 Subject: [PATCH 1/2] docs(intro): getting started --- docs/get-started.md | 66 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 docs/get-started.md diff --git a/docs/get-started.md b/docs/get-started.md new file mode 100644 index 0000000..8c65cdf --- /dev/null +++ b/docs/get-started.md @@ -0,0 +1,66 @@ +--- +icon: material/home +--- + +# What is XGA? + +XGA is a platform that is comprised of an Optimism based Rollup, a smart contract protocol, an Ethereum consensus layer +sidecar and a domain-specific engine called Open Games for proving/developing (game-specific) mechanisms. + +
+ +- [**:octicons-beaker-16: Optimizing Bidding Stratagies**](#) – from a single _valuation definition_, traders can maintain or create different bidding strategies. +- [**:octicons-sync-16: State sync**](/state) – automatically synchronize the state from the server with connected clients. +- [**:octicons-server-16: Scalable**](/scalability) – built to be horizontally and/or vertically scalable +- [**:octicons-cloud-16: Cloud-agnostic**](/deployment) – you may self-host it on your own servers for free, or use our commercial [XGA Cloud](https://cloud.xga.com/) service. + +
+ +--- + +## Getting started + +Before we start, let's make sure you have the necessary system requirements installed on your local machine. + +**Requirements**: + +## Creating your server + +Use the command below to set up a new XGA server project: + +=== ":octicons-terminal-16: Terminal: Node.js" + + ``` bash + # Create a new XGA project + npm create xga-app@latest ./my-server + + # Enter the project directory + cd my-server + + # Run the server + npm start + ``` + +=== ":octicons-terminal-16: Terminal: Bun" + + ``` bash + # Create a new XGA project + bunx create-xga-app@latest ./my-server + + # Enter the project directory + cd my-server + + # Install Bun transport & Run the server + bun add @xga/bun-websockets + bun run src/index.ts + ``` + +--- + +## Next steps + +- See how to connect to the XGA Rollup through one of the available [client-side SDKs](/client/). +- Implement your own [Valuation definition](/server/room) to handle your game sessions. +- Learn how to [exchange messages](/server/room/#onmessage-type-callback) between the L2 Rollup and L1 Mainnet. +- Learn how the [state synchronization](/state/) works. +- Good Hunting. \ No newline at end of file From ca79bbcd0b4ff401dd352f956455a12d65df17ec Mon Sep 17 00:00:00 2001 From: sam bacha Date: Tue, 20 Aug 2024 22:41:30 -0700 Subject: [PATCH 2/2] feat(relay): update --- docs/api/relay-oapi.yaml | 1422 +++++++++++++++++++++++---- docs/stylesheets/_.css | 31 + mkdocs.yml | 1 + redocly.yaml | 22 + relay-oapi.yaml | 2004 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 3290 insertions(+), 190 deletions(-) create mode 100644 docs/stylesheets/_.css create mode 100644 redocly.yaml create mode 100644 relay-oapi.yaml diff --git a/docs/api/relay-oapi.yaml b/docs/api/relay-oapi.yaml index f514bee..d85c187 100644 --- a/docs/api/relay-oapi.yaml +++ b/docs/api/relay-oapi.yaml @@ -6,16 +6,16 @@ info: version: dev contact: name: GitHub Repository - url: https://github.com/flashbots/relay-specs + url: 'https://github.com/flashbots/relay-specs' license: name: CC0-1.0 - url: https://creativecommons.org/publicdomain/zero/1.0/ + url: 'https://creativecommons.org/publicdomain/zero/1.0/' servers: - url: '{server_url}' variables: server_url: description: Relay URL - default: http://localhost:18550 + default: 'http://localhost:18550' tags: - name: Builder description: Set of endpoints to interact with an external block builder. @@ -38,6 +38,7 @@ paths: * Slots without a registered validator are omitted. tags: - Builder + security: [] responses: '200': description: Success response. @@ -57,25 +58,17 @@ paths: entry: type: object description: The `SignedValidatorRegistration` object from the Builder API specification. - required: &ref_7 - - message - - signature - properties: &ref_8 + properties: message: type: object description: The `ValidatorRegistration` object from the Builder API specification. - required: - - fee_recipient - - gas_limit - - timestamp - - pubkey properties: fee_recipient: description: Address to receive fees from the block. type: string format: hex - example: '0xAbcF8e0d4e9587369b2301D0790347320302cc09' - pattern: ^0x[a-fA-F0-9]{40}$ + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}' gas_limit: description: Preferred gas limit of validator. type: string @@ -88,14 +81,22 @@ paths: description: BLS public key of validator. type: string format: hex - pattern: ^0x[a-fA-F0-9]{96}$ + pattern: '^0x[a-fA-F0-9]{96}' example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' signature: type: string format: hex - pattern: ^0x[a-fA-F0-9]{192}$ + pattern: '^0x[a-fA-F0-9]{192}' example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' - /relay/v1/builder/blocks: + '400': + description: Bad request. + content: + application/json: + schema: + type: object + properties: + message: + type: string post: operationId: submitBlock summary: Submit a new block to the relay. @@ -125,7 +126,7 @@ paths: - name: cancellations in: query required: false - description: If set to 1, opt into bid cancellations. + description: 'If set to 1, opt into bid cancellations.' schema: type: string example: '1' @@ -136,12 +137,12 @@ paths: application/json: schema: oneOf: - - allOf: &ref_9 + - allOf: - type: object - properties: &ref_0 + properties: message: type: object - properties: &ref_2 + properties: slot: type: string example: '1' @@ -149,30 +150,30 @@ paths: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' block_hash: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' builder_pubkey: type: string format: hex - pattern: ^0x[a-fA-F0-9]{96}$ - description: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._ + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' proposer_pubkey: type: string format: hex - pattern: ^0x[a-fA-F0-9]{96}$ - description: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._ + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' proposer_fee_recipient: type: string format: hex description: An address on the execution (Ethereum 1) network. - example: '0xAbcF8e0d4e9587369b2301D0790347320302cc09' - pattern: ^0x[a-fA-F0-9]{40}$ + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' gas_limit: type: string example: '1' @@ -185,60 +186,46 @@ paths: signature: type: string format: hex - pattern: ^0x[a-fA-F0-9]{192}$ + pattern: '^0x[a-fA-F0-9]{192}$' example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' - type: object properties: execution_payload: - allOf: &ref_12 + allOf: - type: object - description: The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/bellatrix/beacon-chain.md#executionpayload) object from the CL Bellatrix spec. - required: - - parent_hash - - fee_recipient - - state_root - - receipts_root - - logs_bloom - - prev_randao - - block_number - - gas_limit - - gas_used - - timestamp - - extra_data - - base_fee_per_gas - - block_hash + description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/bellatrix/beacon-chain.md#executionpayload) object from the CL Bellatrix spec.' properties: parent_hash: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' fee_recipient: type: string format: hex description: An address on the execution (Ethereum 1) network. - example: '0xAbcF8e0d4e9587369b2301D0790347320302cc09' - pattern: ^0x[a-fA-F0-9]{40}$ + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' state_root: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' receipts_root: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' logs_bloom: type: string format: hex example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' - pattern: ^0x[a-fA-F0-9]{512}$ + pattern: '^0x[a-fA-F0-9]{512}$' prev_randao: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' block_number: type: string example: '1' @@ -256,7 +243,7 @@ paths: format: hex description: Extra data on the execution (Ethereum 1) network. example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{0,64}$ + pattern: '^0x[a-fA-F0-9]{0,64}$' base_fee_per_gas: type: string example: '1' @@ -264,75 +251,107 @@ paths: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' - type: object - required: - - transactions properties: transactions: type: array - items: &ref_1 + items: type: string format: hex description: A transaction on the execution (Ethereum 1) network. example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' - pattern: ^0x[a-fA-F0-9]{0,2147483648}$ + pattern: '^0x[a-fA-F0-9]{0,2147483648}$' maxItems: 1048576 - - allOf: &ref_10 + - allOf: - type: object - properties: *ref_0 + properties: + message: + type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' - type: object properties: execution_payload: - allOf: &ref_13 + allOf: - type: object - description: The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/capella/beacon-chain.md#executionpayload) object from the CL Capella spec. - required: - - parent_hash - - fee_recipient - - state_root - - receipts_root - - logs_bloom - - prev_randao - - block_number - - gas_limit - - gas_used - - timestamp - - extra_data - - base_fee_per_gas - - block_hash + description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/capella/beacon-chain.md#executionpayload) object from the CL Capella spec.' properties: parent_hash: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' fee_recipient: type: string format: hex description: An address on the execution (Ethereum 1) network. - example: '0xAbcF8e0d4e9587369b2301D0790347320302cc09' - pattern: ^0x[a-fA-F0-9]{40}$ + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' state_root: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' receipts_root: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' logs_bloom: type: string format: hex example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' - pattern: ^0x[a-fA-F0-9]{512}$ + pattern: '^0x[a-fA-F0-9]{512}$' prev_randao: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' block_number: type: string example: '1' @@ -350,7 +369,7 @@ paths: format: hex description: Extra data on the execution (Ethereum 1) network. example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{0,64}$ + pattern: '^0x[a-fA-F0-9]{0,64}$' base_fee_per_gas: type: string example: '1' @@ -358,25 +377,22 @@ paths: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' - type: object - required: - - transactions - - withdrawals properties: transactions: type: array - items: *ref_1 + items: + type: string + format: hex + description: A transaction on the execution (Ethereum 1) network. + example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + pattern: '^0x[a-fA-F0-9]{0,2147483648}$' maxItems: 1048576 withdrawals: type: array items: type: object - required: - - index - - validator_index - - address - - amount properties: index: description: The index of the withdrawal. @@ -390,58 +406,103 @@ paths: description: The address to which the withdrawal is credited. type: string format: hex - example: '0xAbcF8e0d4e9587369b2301D0790347320302cc09' - pattern: ^0x[a-fA-F0-9]{40}$ + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' amount: description: The value withdrawn (gwei). type: string example: '1' maxItems: 16 - - allOf: &ref_11 + - allOf: - type: object - properties: *ref_0 + properties: + message: + type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' - type: object description: A wrapper object containing the ExecutionPayload and the BlobsBundle - required: - - execution_payload - - blobs_bundle properties: execution_payload: - allOf: &ref_14 + allOf: - type: object - description: The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/master/specs/deneb/beacon-chain.md#executionpayload) object from the CL Deneb spec. + description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/master/specs/deneb/beacon-chain.md#executionpayload) object from the CL Deneb spec.' properties: parent_hash: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' fee_recipient: type: string format: hex description: An address on the execution (Ethereum 1) network. example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' - pattern: ^0x[a-fA-F0-9]{40}$ + pattern: '^0x[a-fA-F0-9]{40}$' state_root: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' receipts_root: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' logs_bloom: type: string format: hex example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' - pattern: ^0x[a-fA-F0-9]{512}$ + pattern: '^0x[a-fA-F0-9]{512}$' prev_randao: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' block_number: type: string example: '1' @@ -459,7 +520,7 @@ paths: format: hex description: Extra data on the execution (Ethereum 1) network. example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{0,64}$ + pattern: '^0x[a-fA-F0-9]{0,64}$' base_fee_per_gas: type: string example: '1' @@ -470,7 +531,7 @@ paths: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' - type: object properties: transactions: @@ -480,7 +541,7 @@ paths: format: hex description: A transaction on the execution (Ethereum 1) network. example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' - pattern: ^0x[a-fA-F0-9]{0,2147483648}$ + pattern: '^0x[a-fA-F0-9]{0,2147483648}$' maxItems: 1048576 withdrawals: type: array @@ -500,48 +561,47 @@ paths: type: string format: hex example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' - pattern: ^0x[a-fA-F0-9]{40}$ + pattern: '^0x[a-fA-F0-9]{40}$' amount: description: The value withdrawn (gwei). type: string example: '1' maxItems: 16 blobs_bundle: + allOf: + - type: object + properties: + commitments: + type: array + items: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: A G1 curve point. Same as BLS standard "is valid pubkey" check but also allows `0x00..00` for point-at-infinity + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + minItems: 0 + maxItems: 6 + proofs: + type: array + items: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: A G1 curve point. Used for verifying that the `KZGCommitment` for a given `Blob` is correct. + minItems: 0 + maxItems: 6 type: object description: The `BlobsBundle` object from the CL Deneb spec - required: - - blobs - - commitments - - proofs properties: blobs: type: array items: type: string format: hex - pattern: ^0x[a-fA-F0-9]{262144}$ + pattern: '^0x[a-fA-F0-9]{262144}$' description: A blob is `FIELD_ELEMENTS_PER_BLOB * size_of(BLSFieldElement) = 4096 * 32 = 131072` bytes (`DATA`) representing a SSZ-encoded Blob as defined in Deneb minItems: 0 - maxItems: 4096 - commitments: - type: array - items: - type: string - format: hex - pattern: ^0x[a-fA-F0-9]{96}$ - description: A G1 curve point. Same as BLS standard "is valid pubkey" check but also allows `0x00..00` for point-at-infinity - example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' - minItems: 0 - maxItems: 4096 - proofs: - type: array - items: - type: string - format: hex - pattern: ^0x[a-fA-F0-9]{96}$ - description: A G1 curve point. Used for verifying that the `KZGCommitment` for a given `Blob` is correct. - minItems: 0 - maxItems: 4096 + maxItems: 6 examples: bellatrix: value: @@ -657,10 +717,7 @@ paths: schema: allOf: - type: object - required: &ref_3 - - code - - message - properties: &ref_4 + properties: code: description: Either specific error code in case of invalid request or http status code type: number @@ -669,7 +726,7 @@ paths: description: Message describing error type: string stacktraces: - description: Optional stacktraces, sent when node is in debug mode + description: 'Optional stacktraces, sent when node is in debug mode' type: array items: type: string @@ -678,7 +735,7 @@ paths: message: payload for this slot was already delivered '500': description: An internal error on the relay. - content: &ref_5 + content: application/json: schema: type: object @@ -691,7 +748,7 @@ paths: description: Message describing error type: string stacktraces: - description: Optional stacktraces, sent when node is in debug mode + description: 'Optional stacktraces, sent when node is in debug mode' type: array items: type: string @@ -738,7 +795,7 @@ paths: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' - name: block_number in: query required: false @@ -753,8 +810,8 @@ paths: schema: type: string format: hex - pattern: ^0x[a-fA-F0-9]{96}$ - description: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._ + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' - name: builder_pubkey in: query @@ -763,8 +820,8 @@ paths: schema: type: string format: hex - pattern: ^0x[a-fA-F0-9]{96}$ - description: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._ + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' - name: order_by in: query @@ -787,9 +844,49 @@ paths: schema: type: array items: - allOf: &ref_6 + allOf: - type: object - properties: *ref_2 + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' - type: object properties: block_number: @@ -805,14 +902,44 @@ paths: schema: allOf: - type: object - required: *ref_3 - properties: *ref_4 + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string - example: code: 400 message: invalid block_hash argument '500': description: An internal error on the relay. - content: *ref_5 + content: + application/json: + schema: + type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + example: + code: 500 + message: internal server error /relay/v1/data/bidtraces/builder_blocks_received: get: operationId: getReceivedBids @@ -839,7 +966,7 @@ paths: type: string format: hex example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' - pattern: ^0x[a-fA-F0-9]{64}$ + pattern: '^0x[a-fA-F0-9]{64}$' - name: block_number in: query required: false @@ -854,8 +981,8 @@ paths: schema: type: string format: hex - pattern: ^0x[a-fA-F0-9]{96}$ - description: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._ + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' - name: limit in: query @@ -872,8 +999,58 @@ paths: schema: type: array items: - allOf: &ref_15 - - allOf: *ref_6 + allOf: + - allOf: + - type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + - type: object + properties: + block_number: + type: string + example: '1' + num_tx: + type: string + example: '1' - type: object properties: timestamp: @@ -889,14 +1066,44 @@ paths: schema: allOf: - type: object - required: *ref_3 - properties: *ref_4 + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string - example: code: 400 message: cannot specify both slot and cursor '500': description: An internal error on the relay. - content: *ref_5 + content: + application/json: + schema: + type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + example: + code: 500 + message: internal server error /relay/v1/data/validator_registration: get: operationId: getValidatorRegistration @@ -915,8 +1122,8 @@ paths: schema: type: string format: hex - pattern: ^0x[a-fA-F0-9]{96}$ - description: The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._ + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' responses: '200': @@ -926,8 +1133,36 @@ paths: schema: type: object description: The `SignedValidatorRegistration` object from the Builder API specification. - required: *ref_7 - properties: *ref_8 + properties: + message: + type: object + description: The `ValidatorRegistration` object from the Builder API specification. + properties: + fee_recipient: + description: Address to receive fees from the block. + type: string + format: hex + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + description: Preferred gas limit of validator. + type: string + example: '1' + timestamp: + description: Unix timestamp of registration. + type: string + example: '1' + pubkey: + description: BLS public key of validator. + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' '400': description: Error response. content: @@ -935,35 +1170,842 @@ paths: schema: allOf: - type: object - required: *ref_3 - properties: *ref_4 + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string - example: code: 400 message: missing pubkey argument '500': description: An internal error on the relay. - content: *ref_5 + content: + application/json: + schema: + type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + example: + code: 500 + message: internal server error +security: + - JWT: [] components: + securitySchemes: + JWT: + type: http + scheme: bearer + bearerFormat: JWT schemas: + Uint64: + type: string + example: '1' + Root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + Pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + ErrorMessage: + type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + OrderBy: + description: | + Sort results in either ascending or descending values. + * `-value` - descending value (highest value first) + * `value` - ascending value (lowest value first) + type: string + enum: + - '-value' + - value + Bellatrix.SubmitBlockRequest: + allOf: + - type: object + properties: + message: + type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + - type: object + properties: + execution_payload: + allOf: + - type: object + description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/bellatrix/beacon-chain.md#executionpayload) object from the CL Bellatrix spec.' + properties: + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + state_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + receipts_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + logs_bloom: + type: string + format: hex + example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + pattern: '^0x[a-fA-F0-9]{512}$' + prev_randao: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_number: + type: string + example: '1' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + timestamp: + type: string + example: '1' + extra_data: + type: string + format: hex + description: Extra data on the execution (Ethereum 1) network. + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{0,64}$' + base_fee_per_gas: + type: string + example: '1' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + - type: object + properties: + transactions: + type: array + items: + type: string + format: hex + description: A transaction on the execution (Ethereum 1) network. + example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + pattern: '^0x[a-fA-F0-9]{0,2147483648}$' + maxItems: 1048576 + Capella.SubmitBlockRequest: + allOf: + - type: object + properties: + message: + type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + - type: object + properties: + execution_payload: + allOf: + - type: object + description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/capella/beacon-chain.md#executionpayload) object from the CL Capella spec.' + properties: + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + state_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + receipts_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + logs_bloom: + type: string + format: hex + example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + pattern: '^0x[a-fA-F0-9]{512}$' + prev_randao: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_number: + type: string + example: '1' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + timestamp: + type: string + example: '1' + extra_data: + type: string + format: hex + description: Extra data on the execution (Ethereum 1) network. + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{0,64}$' + base_fee_per_gas: + type: string + example: '1' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + - type: object + properties: + transactions: + type: array + items: + type: string + format: hex + description: A transaction on the execution (Ethereum 1) network. + example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + pattern: '^0x[a-fA-F0-9]{0,2147483648}$' + maxItems: 1048576 + withdrawals: + type: array + items: + type: object + properties: + index: + description: The index of the withdrawal. + type: string + example: '1' + validator_index: + description: The index of the withdrawing validator. + type: string + example: '1' + address: + description: The address to which the withdrawal is credited. + type: string + format: hex + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + amount: + description: The value withdrawn (gwei). + type: string + example: '1' + maxItems: 16 + Deneb.SubmitBlockRequest: + allOf: + - type: object + properties: + message: + type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + - type: object + description: A wrapper object containing the ExecutionPayload and the BlobsBundle + properties: + execution_payload: + allOf: + - type: object + description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/master/specs/deneb/beacon-chain.md#executionpayload) object from the CL Deneb spec.' + properties: + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + state_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + receipts_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + logs_bloom: + type: string + format: hex + example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + pattern: '^0x[a-fA-F0-9]{512}$' + prev_randao: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_number: + type: string + example: '1' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + timestamp: + type: string + example: '1' + extra_data: + type: string + format: hex + description: Extra data on the execution (Ethereum 1) network. + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{0,64}$' + base_fee_per_gas: + type: string + example: '1' + excess_data_gas: + type: string + example: '1' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + - type: object + properties: + transactions: + type: array + items: + type: string + format: hex + description: A transaction on the execution (Ethereum 1) network. + example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + pattern: '^0x[a-fA-F0-9]{0,2147483648}$' + maxItems: 1048576 + withdrawals: + type: array + items: + type: object + properties: + index: + description: The index of the withdrawal. + type: string + example: '1' + validator_index: + description: The index of the withdrawing validator. + type: string + example: '1' + address: + description: The address to which the withdrawal is credited. + type: string + format: hex + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + amount: + description: The value withdrawn (gwei). + type: string + example: '1' + maxItems: 16 + blobs_bundle: + allOf: + - type: object + properties: + commitments: + type: array + items: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: A G1 curve point. Same as BLS standard "is valid pubkey" check but also allows `0x00..00` for point-at-infinity + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + minItems: 0 + maxItems: 6 + proofs: + type: array + items: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: A G1 curve point. Used for verifying that the `KZGCommitment` for a given `Blob` is correct. + minItems: 0 + maxItems: 6 + type: object + description: The `BlobsBundle` object from the CL Deneb spec + properties: + blobs: + type: array + items: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{262144}$' + description: A blob is `FIELD_ELEMENTS_PER_BLOB * size_of(BLSFieldElement) = 4096 * 32 = 131072` bytes (`DATA`) representing a SSZ-encoded Blob as defined in Deneb + minItems: 0 + maxItems: 6 + ValidatorsResponse: + type: array + items: + type: object + properties: + slot: + type: string + example: '1' + validator_index: + type: string + example: '1' + entry: + type: object + description: The `SignedValidatorRegistration` object from the Builder API specification. + properties: + message: + type: object + description: The `ValidatorRegistration` object from the Builder API specification. + properties: + fee_recipient: + description: Address to receive fees from the block. + type: string + format: hex + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + description: Preferred gas limit of validator. + type: string + example: '1' + timestamp: + description: Unix timestamp of registration. + type: string + example: '1' + pubkey: + description: BLS public key of validator. + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + DeliveredPayloadsResponse: + type: array + items: + allOf: + - type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + - type: object + properties: + block_number: + type: string + example: '1' + num_tx: + type: string + example: '1' + ReceivedBlocksResponse: + type: array + items: + allOf: + - allOf: + - type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + - type: object + properties: + block_number: + type: string + example: '1' + num_tx: + type: string + example: '1' + - type: object + properties: + timestamp: + type: string + example: '1' + timestamp_ms: + type: string + example: '1' + responses: + InternalError: + description: An internal error on the relay. + content: + application/json: + schema: + type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + example: + code: 500 + message: internal server error + examples: Bellatrix.SubmitBlockRequest: - allOf: *ref_9 + value: + message: + slot: '1' + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + gas_limit: '1' + gas_used: '1' + value: '1' + execution_payload: + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_number: '1' + gas_limit: '1' + gas_used: '1' + timestamp: '1' + extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + base_fee_per_gas: '1' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + transactions: + - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' Capella.SubmitBlockRequest: - allOf: *ref_10 + value: + message: + slot: '1' + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + gas_limit: '1' + gas_used: '1' + value: '1' + execution_payload: + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_number: '1' + gas_limit: '1' + gas_used: '1' + timestamp: '1' + extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + base_fee_per_gas: '1' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + transactions: + - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + withdrawals: + - index: '1' + validator_index: '1' + address: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + amount: '32000000000' + signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' Deneb.SubmitBlockRequest: - allOf: *ref_11 - ExecutionPayload: - allOf: *ref_12 - SubmitBlockRequest: - allOf: *ref_9 - Capella-ExecutionPayload: - allOf: *ref_13 - Capella-SubmitBlockRequest: - allOf: *ref_10 - Deneb-ExecutionPayload: - allOf: *ref_14 - Deneb-SubmitBlockRequest: - allOf: *ref_11 - BidTraceV2: - allOf: *ref_6 - BidTraceV2WithTimestamp: - allOf: *ref_15 + value: + message: + slot: '1' + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + gas_limit: '1' + gas_used: '1' + value: '1' + execution_payload: + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_number: '1' + gas_limit: '1' + gas_used: '1' + timestamp: '1' + extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + base_fee_per_gas: '1' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + transactions: + - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + withdrawals: + - index: '1' + validator_index: '1' + address: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + amount: '32000000000' + blobs_bundle: + commitments: + - '0x8dab030c51e16e84be9caab84ee3d0b8bbec1db4a0e4de76439da8424d9b957370a10a78851f97e4b54d2ce1ab0d686f' + proofs: + - '0xb4021b0de10f743893d4f71e1bf830c019e832958efd6795baf2f83b8699a9eccc5dc99015d8d4d8ec370d0cc333c06a' + blobs: + - '0x24564723180fcb3d994104538d351c8dcbde12d541676bb736cf678018ca4739' + signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' diff --git a/docs/stylesheets/_.css b/docs/stylesheets/_.css new file mode 100644 index 0000000..bf87e57 --- /dev/null +++ b/docs/stylesheets/_.css @@ -0,0 +1,31 @@ +:root { + --ifm-color-primary: #2e8555; + --ifm-color-primary-dark: #29784c; + --ifm-color-primary-darker: #277148; + --ifm-color-primary-darkest: #205d3b; + --ifm-color-primary-light: #33925d; + --ifm-color-primary-lighter: #359962; + --ifm-color-primary-lightest: #3cad6e; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); + --ifm-pre-padding: 2rem; + --ifm-navbar-height: 6.5rem; +} + +/* For readability concerns, you should choose a lighter palette in dark mode. */ +[data-theme='dark'] { + --ifm-color-primary: #25c2a0; + --ifm-color-primary-dark: #21af90; + --ifm-color-primary-darker: #1fa588; + --ifm-color-primary-darkest: #1a8870; + --ifm-color-primary-light: #29d5b0; + --ifm-color-primary-lighter: #32d8b4; + --ifm-color-primary-lightest: #4fddbf; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); +} + +html[data-theme='dark'] { + --ifm-background-color: #272b33; + --ifm-navbar-background-color: var(--ifm-background-color); + --ifm-footer-background-color: var(--ifm-background-color); +} diff --git a/mkdocs.yml b/mkdocs.yml index cc270c8..606fa69 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -178,6 +178,7 @@ markdown_extensions: nav: - index.md + - Quickstart: getting-started.md - Cheat Sheet: cheatsheet.md - Developers: - Getting Started: Developers/index.md diff --git a/redocly.yaml b/redocly.yaml new file mode 100644 index 0000000..d19adb8 --- /dev/null +++ b/redocly.yaml @@ -0,0 +1,22 @@ +# See https://redocly.com/docs/cli/configuration/ + +extends: + - recommended + +rules: + # A sample custom rule. Read more about rules: https://redocly.com/docs/cli/rules/ + rule/operation-description: + subject: + type: Operation + property: description + assertions: + defined: true + minLength: 30 + +theme: + openapi: + generateCodeSamples: + languages: + - lang: curl + - lang: Node.js + - lang: Python \ No newline at end of file diff --git a/relay-oapi.yaml b/relay-oapi.yaml new file mode 100644 index 0000000..cea2436 --- /dev/null +++ b/relay-oapi.yaml @@ -0,0 +1,2004 @@ +openapi: 3.0.3 +info: + title: Relay API + description: | + API specification for MEV-Boost PBS relays. + version: dev + contact: + name: GitHub Repository + url: 'https://github.com/flashbots/relay-specs' + license: + name: CC0-1.0 + url: 'https://creativecommons.org/publicdomain/zero/1.0/' +servers: + - url: '{server_url}' + variables: + server_url: + description: Relay URL + default: 'http://localhost:18550' +tags: + - name: Builder + description: Set of endpoints to interact with an external block builder. + - name: Data + description: Set of endpoints to provide data about the relay. +paths: + /relay/v1/builder/validators: + get: + operationId: getValidators + summary: | + Get a list of validator registrations for validators scheduled to propose + in the current and next epoch. + description: | + * Used by builders to know when to submit bids for an upcoming proposal. + + * Returns an array of validator registrations for the current and next epoch. + + * Each entry includes a slot and the validator with assigned duty. + + * Slots without a registered validator are omitted. + tags: + - Builder + security: [] + responses: + '200': + description: Success response. + content: + application/json: + schema: + type: array + items: + type: object + properties: + slot: + type: string + example: '1' + validator_index: + type: string + example: '1' + entry: + type: object + description: The `SignedValidatorRegistration` object from the Builder API specification. + properties: + message: + type: object + description: The `ValidatorRegistration` object from the Builder API specification. + properties: + fee_recipient: + description: Address to receive fees from the block. + type: string + format: hex + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}' + gas_limit: + description: Preferred gas limit of validator. + type: string + example: '1' + timestamp: + description: Unix timestamp of registration. + type: string + example: '1' + pubkey: + description: BLS public key of validator. + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + '400': + description: Bad request. + content: + application/json: + schema: + type: object + properties: + message: + type: string + post: + operationId: submitBlock + summary: Submit a new block to the relay. + description: | + * Blocks can be submitted as JSON or SSZ, and optionally GZIP encoded. To be + clear, there are four options: JSON, JSON+GZIP, SSZ, SSZ+GZIP. If JSON, the + content type should be `application/json`. If SSZ, the content type should + be `application/octet-stream`. + + * To enable GZIP compression for the request body, the HTTP content encoding + should be `gzip`. Compression is optional. + + * The relay will simulate the block to verify properties and proposer + payment in the payment transaction from builder to proposer + `fee_recipient` at the end of block. + + * For accountability, builder signature is over the SSZ encoded `message`. + + * The `message`, which does not include the transactions, will be made + public via the data API, allowing anyone to verify the builder signature. + + * Any new submission by a builder will overwrite a previous one by the same + `builder_pubkey`, even if it is less profitable. + tags: + - Builder + parameters: + - name: cancellations + in: query + required: false + description: 'If set to 1, opt into bid cancellations.' + schema: + type: string + example: '1' + requestBody: + description: A signed bid with an execution payload. + required: true + content: + application/json: + schema: + oneOf: + - allOf: + - type: object + properties: + message: + type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + - type: object + properties: + execution_payload: + allOf: + - type: object + description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/bellatrix/beacon-chain.md#executionpayload) object from the CL Bellatrix spec.' + properties: + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + state_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + receipts_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + logs_bloom: + type: string + format: hex + example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + pattern: '^0x[a-fA-F0-9]{512}$' + prev_randao: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_number: + type: string + example: '1' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + timestamp: + type: string + example: '1' + extra_data: + type: string + format: hex + description: Extra data on the execution (Ethereum 1) network. + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{0,64}$' + base_fee_per_gas: + type: string + example: '1' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + - type: object + properties: + transactions: + type: array + items: + type: string + format: hex + description: A transaction on the execution (Ethereum 1) network. + example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + pattern: '^0x[a-fA-F0-9]{0,2147483648}$' + maxItems: 1048576 + - allOf: + - type: object + properties: + message: + type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + - type: object + properties: + execution_payload: + allOf: + - type: object + description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/capella/beacon-chain.md#executionpayload) object from the CL Capella spec.' + properties: + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + state_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + receipts_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + logs_bloom: + type: string + format: hex + example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + pattern: '^0x[a-fA-F0-9]{512}$' + prev_randao: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_number: + type: string + example: '1' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + timestamp: + type: string + example: '1' + extra_data: + type: string + format: hex + description: Extra data on the execution (Ethereum 1) network. + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{0,64}$' + base_fee_per_gas: + type: string + example: '1' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + - type: object + properties: + transactions: + type: array + items: + type: string + format: hex + description: A transaction on the execution (Ethereum 1) network. + example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + pattern: '^0x[a-fA-F0-9]{0,2147483648}$' + maxItems: 1048576 + withdrawals: + type: array + items: + type: object + properties: + index: + description: The index of the withdrawal. + type: string + example: '1' + validator_index: + description: The index of the withdrawing validator. + type: string + example: '1' + address: + description: The address to which the withdrawal is credited. + type: string + format: hex + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + amount: + description: The value withdrawn (gwei). + type: string + example: '1' + maxItems: 16 + - allOf: + - type: object + properties: + message: + type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + - type: object + description: A wrapper object containing the ExecutionPayload and the BlobsBundle + properties: + execution_payload: + allOf: + - type: object + description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/master/specs/deneb/beacon-chain.md#executionpayload) object from the CL Deneb spec.' + properties: + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + state_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + receipts_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + logs_bloom: + type: string + format: hex + example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + pattern: '^0x[a-fA-F0-9]{512}$' + prev_randao: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_number: + type: string + example: '1' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + timestamp: + type: string + example: '1' + extra_data: + type: string + format: hex + description: Extra data on the execution (Ethereum 1) network. + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{0,64}$' + base_fee_per_gas: + type: string + example: '1' + excess_data_gas: + type: string + example: '1' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + - type: object + properties: + transactions: + type: array + items: + type: string + format: hex + description: A transaction on the execution (Ethereum 1) network. + example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + pattern: '^0x[a-fA-F0-9]{0,2147483648}$' + maxItems: 1048576 + withdrawals: + type: array + items: + type: object + properties: + index: + description: The index of the withdrawal. + type: string + example: '1' + validator_index: + description: The index of the withdrawing validator. + type: string + example: '1' + address: + description: The address to which the withdrawal is credited. + type: string + format: hex + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + amount: + description: The value withdrawn (gwei). + type: string + example: '1' + maxItems: 16 + blobs_bundle: + allOf: + - type: object + properties: + commitments: + type: array + items: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: A G1 curve point. Same as BLS standard "is valid pubkey" check but also allows `0x00..00` for point-at-infinity + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + minItems: 0 + maxItems: 6 + proofs: + type: array + items: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: A G1 curve point. Used for verifying that the `KZGCommitment` for a given `Blob` is correct. + minItems: 0 + maxItems: 6 + type: object + description: The `BlobsBundle` object from the CL Deneb spec + properties: + blobs: + type: array + items: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{262144}$' + description: A blob is `FIELD_ELEMENTS_PER_BLOB * size_of(BLSFieldElement) = 4096 * 32 = 131072` bytes (`DATA`) representing a SSZ-encoded Blob as defined in Deneb + minItems: 0 + maxItems: 6 + examples: + bellatrix: + value: + message: + slot: '1' + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + gas_limit: '1' + gas_used: '1' + value: '1' + execution_payload: + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_number: '1' + gas_limit: '1' + gas_used: '1' + timestamp: '1' + extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + base_fee_per_gas: '1' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + transactions: + - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + capella: + value: + message: + slot: '1' + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + gas_limit: '1' + gas_used: '1' + value: '1' + execution_payload: + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_number: '1' + gas_limit: '1' + gas_used: '1' + timestamp: '1' + extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + base_fee_per_gas: '1' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + transactions: + - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + withdrawals: + - index: '1' + validator_index: '1' + address: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + amount: '32000000000' + signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + deneb: + value: + message: + slot: '1' + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + gas_limit: '1' + gas_used: '1' + value: '1' + execution_payload: + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_number: '1' + gas_limit: '1' + gas_used: '1' + timestamp: '1' + extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + base_fee_per_gas: '1' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + transactions: + - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + withdrawals: + - index: '1' + validator_index: '1' + address: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + amount: '32000000000' + blobs_bundle: + commitments: + - '0x8dab030c51e16e84be9caab84ee3d0b8bbec1db4a0e4de76439da8424d9b957370a10a78851f97e4b54d2ce1ab0d686f' + proofs: + - '0xb4021b0de10f743893d4f71e1bf830c019e832958efd6795baf2f83b8699a9eccc5dc99015d8d4d8ec370d0cc333c06a' + blobs: + - '0x24564723180fcb3d994104538d351c8dcbde12d541676bb736cf678018ca4739' + signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + application/octet-stream: + schema: + description: SSZ serialized request. Use content type header to indicate that SSZ data is contained in the request body. + responses: + '200': + description: Success response. + '400': + description: Error response. + content: + application/json: + schema: + allOf: + - type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + - example: + code: 400 + message: payload for this slot was already delivered + '500': + description: An internal error on the relay. + content: + application/json: + schema: + type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + example: + code: 500 + message: internal server error + /relay/v1/data/bidtraces/proposer_payload_delivered: + get: + operationId: getDeliveredPayloads + summary: Get payloads that were delivered to proposers. + description: | + * Payloads become available after the relay responds to a `getPayload` request from the proposer. + + * Query arguments are used as filters. + tags: + - Data + parameters: + - name: slot + in: query + required: false + description: A specific slot. + schema: + type: string + example: '1' + - name: cursor + in: query + required: false + description: A starting slot for multiple results. + schema: + type: string + example: '1' + - name: limit + in: query + required: false + description: The number of results. + schema: + type: string + example: '1' + - name: block_hash + in: query + required: false + description: A specific block hash. + schema: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + - name: block_number + in: query + required: false + description: A specific block number. + schema: + type: string + example: '1' + - name: proposer_pubkey + in: query + required: false + description: A specific proposer public key. + schema: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + - name: builder_pubkey + in: query + required: false + description: A specific builder public key. + schema: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + - name: order_by + in: query + required: false + description: Sort results in order of... + schema: + description: | + Sort results in either ascending or descending values. + * `-value` - descending value (highest value first) + * `value` - ascending value (lowest value first) + type: string + enum: + - '-value' + - value + responses: + '200': + description: Success response. + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + - type: object + properties: + block_number: + type: string + example: '1' + num_tx: + type: string + example: '1' + '400': + description: Error response. + content: + application/json: + schema: + allOf: + - type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + - example: + code: 400 + message: invalid block_hash argument + '500': + description: An internal error on the relay. + content: + application/json: + schema: + type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + example: + code: 500 + message: internal server error + /relay/v1/data/bidtraces/builder_blocks_received: + get: + operationId: getReceivedBids + summary: Get builder bid submissions. + description: | + * Returns a list of builder bids without execution payloads. + + * Only submissions that were successfully verified. + tags: + - Data + parameters: + - name: slot + in: query + required: false + description: A specific slot. + schema: + type: string + example: '1' + - name: block_hash + in: query + required: false + description: A specific block hash. + schema: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + - name: block_number + in: query + required: false + description: A specific block number. + schema: + type: string + example: '1' + - name: builder_pubkey + in: query + required: false + description: A specific builder public key. + schema: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + - name: limit + in: query + required: false + description: The number of results. + schema: + type: string + example: '1' + responses: + '200': + description: Success response. + content: + application/json: + schema: + type: array + items: + allOf: + - allOf: + - type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + - type: object + properties: + block_number: + type: string + example: '1' + num_tx: + type: string + example: '1' + - type: object + properties: + timestamp: + type: string + example: '1' + timestamp_ms: + type: string + example: '1' + '400': + description: Error response. + content: + application/json: + schema: + allOf: + - type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + - example: + code: 400 + message: cannot specify both slot and cursor + '500': + description: An internal error on the relay. + content: + application/json: + schema: + type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + example: + code: 500 + message: internal server error + /relay/v1/data/validator_registration: + get: + operationId: getValidatorRegistration + summary: Check that a validator is registered with the relay. + description: | + * Returns the latest validator registration for a given pubkey. + + * Useful to check whether your own registration was successful. + tags: + - Data + parameters: + - name: pubkey + in: query + required: true + description: The validator's public key. + schema: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + responses: + '200': + description: Success response. + content: + application/json: + schema: + type: object + description: The `SignedValidatorRegistration` object from the Builder API specification. + properties: + message: + type: object + description: The `ValidatorRegistration` object from the Builder API specification. + properties: + fee_recipient: + description: Address to receive fees from the block. + type: string + format: hex + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + description: Preferred gas limit of validator. + type: string + example: '1' + timestamp: + description: Unix timestamp of registration. + type: string + example: '1' + pubkey: + description: BLS public key of validator. + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + '400': + description: Error response. + content: + application/json: + schema: + allOf: + - type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + - example: + code: 400 + message: missing pubkey argument + '500': + description: An internal error on the relay. + content: + application/json: + schema: + type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + example: + code: 500 + message: internal server error +components: + schemas: + Uint64: + type: string + example: '1' + Root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + Pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + ErrorMessage: + type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + OrderBy: + description: | + Sort results in either ascending or descending values. + * `-value` - descending value (highest value first) + * `value` - ascending value (lowest value first) + type: string + enum: + - '-value' + - value + Bellatrix.SubmitBlockRequest: + allOf: + - type: object + properties: + message: + type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + - type: object + properties: + execution_payload: + allOf: + - type: object + description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/bellatrix/beacon-chain.md#executionpayload) object from the CL Bellatrix spec.' + properties: + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + state_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + receipts_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + logs_bloom: + type: string + format: hex + example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + pattern: '^0x[a-fA-F0-9]{512}$' + prev_randao: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_number: + type: string + example: '1' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + timestamp: + type: string + example: '1' + extra_data: + type: string + format: hex + description: Extra data on the execution (Ethereum 1) network. + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{0,64}$' + base_fee_per_gas: + type: string + example: '1' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + - type: object + properties: + transactions: + type: array + items: + type: string + format: hex + description: A transaction on the execution (Ethereum 1) network. + example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + pattern: '^0x[a-fA-F0-9]{0,2147483648}$' + maxItems: 1048576 + Capella.SubmitBlockRequest: + allOf: + - type: object + properties: + message: + type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + - type: object + properties: + execution_payload: + allOf: + - type: object + description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/capella/beacon-chain.md#executionpayload) object from the CL Capella spec.' + properties: + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + state_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + receipts_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + logs_bloom: + type: string + format: hex + example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + pattern: '^0x[a-fA-F0-9]{512}$' + prev_randao: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_number: + type: string + example: '1' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + timestamp: + type: string + example: '1' + extra_data: + type: string + format: hex + description: Extra data on the execution (Ethereum 1) network. + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{0,64}$' + base_fee_per_gas: + type: string + example: '1' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + - type: object + properties: + transactions: + type: array + items: + type: string + format: hex + description: A transaction on the execution (Ethereum 1) network. + example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + pattern: '^0x[a-fA-F0-9]{0,2147483648}$' + maxItems: 1048576 + withdrawals: + type: array + items: + type: object + properties: + index: + description: The index of the withdrawal. + type: string + example: '1' + validator_index: + description: The index of the withdrawing validator. + type: string + example: '1' + address: + description: The address to which the withdrawal is credited. + type: string + format: hex + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + amount: + description: The value withdrawn (gwei). + type: string + example: '1' + maxItems: 16 + Deneb.SubmitBlockRequest: + allOf: + - type: object + properties: + message: + type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + - type: object + description: A wrapper object containing the ExecutionPayload and the BlobsBundle + properties: + execution_payload: + allOf: + - type: object + description: 'The [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/master/specs/deneb/beacon-chain.md#executionpayload) object from the CL Deneb spec.' + properties: + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + state_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + receipts_root: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + logs_bloom: + type: string + format: hex + example: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + pattern: '^0x[a-fA-F0-9]{512}$' + prev_randao: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_number: + type: string + example: '1' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + timestamp: + type: string + example: '1' + extra_data: + type: string + format: hex + description: Extra data on the execution (Ethereum 1) network. + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{0,64}$' + base_fee_per_gas: + type: string + example: '1' + excess_data_gas: + type: string + example: '1' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + - type: object + properties: + transactions: + type: array + items: + type: string + format: hex + description: A transaction on the execution (Ethereum 1) network. + example: '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + pattern: '^0x[a-fA-F0-9]{0,2147483648}$' + maxItems: 1048576 + withdrawals: + type: array + items: + type: object + properties: + index: + description: The index of the withdrawal. + type: string + example: '1' + validator_index: + description: The index of the withdrawing validator. + type: string + example: '1' + address: + description: The address to which the withdrawal is credited. + type: string + format: hex + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + amount: + description: The value withdrawn (gwei). + type: string + example: '1' + maxItems: 16 + blobs_bundle: + allOf: + - type: object + properties: + commitments: + type: array + items: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: A G1 curve point. Same as BLS standard "is valid pubkey" check but also allows `0x00..00` for point-at-infinity + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + minItems: 0 + maxItems: 6 + proofs: + type: array + items: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: A G1 curve point. Used for verifying that the `KZGCommitment` for a given `Blob` is correct. + minItems: 0 + maxItems: 6 + type: object + description: The `BlobsBundle` object from the CL Deneb spec + properties: + blobs: + type: array + items: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{262144}$' + description: A blob is `FIELD_ELEMENTS_PER_BLOB * size_of(BLSFieldElement) = 4096 * 32 = 131072` bytes (`DATA`) representing a SSZ-encoded Blob as defined in Deneb + minItems: 0 + maxItems: 6 + ValidatorsResponse: + type: array + items: + type: object + properties: + slot: + type: string + example: '1' + validator_index: + type: string + example: '1' + entry: + type: object + description: The `SignedValidatorRegistration` object from the Builder API specification. + properties: + message: + type: object + description: The `ValidatorRegistration` object from the Builder API specification. + properties: + fee_recipient: + description: Address to receive fees from the block. + type: string + format: hex + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + description: Preferred gas limit of validator. + type: string + example: '1' + timestamp: + description: Unix timestamp of registration. + type: string + example: '1' + pubkey: + description: BLS public key of validator. + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + signature: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{192}$' + example: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + DeliveredPayloadsResponse: + type: array + items: + allOf: + - type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + - type: object + properties: + block_number: + type: string + example: '1' + num_tx: + type: string + example: '1' + ReceivedBlocksResponse: + type: array + items: + allOf: + - allOf: + - type: object + properties: + slot: + type: string + example: '1' + parent_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + block_hash: + type: string + format: hex + example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + pattern: '^0x[a-fA-F0-9]{64}$' + builder_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_pubkey: + type: string + format: hex + pattern: '^0x[a-fA-F0-9]{96}$' + description: 'The validator''s BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._' + example: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: + type: string + format: hex + description: An address on the execution (Ethereum 1) network. + example: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + pattern: '^0x[a-fA-F0-9]{40}$' + gas_limit: + type: string + example: '1' + gas_used: + type: string + example: '1' + value: + type: string + example: '1' + - type: object + properties: + block_number: + type: string + example: '1' + num_tx: + type: string + example: '1' + - type: object + properties: + timestamp: + type: string + example: '1' + timestamp_ms: + type: string + example: '1' + responses: + InternalError: + description: An internal error on the relay. + content: + application/json: + schema: + type: object + properties: + code: + description: Either specific error code in case of invalid request or http status code + type: number + example: 404 + message: + description: Message describing error + type: string + stacktraces: + description: 'Optional stacktraces, sent when node is in debug mode' + type: array + items: + type: string + example: + code: 500 + message: internal server error + examples: + Bellatrix.SubmitBlockRequest: + value: + message: + slot: '1' + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + gas_limit: '1' + gas_used: '1' + value: '1' + execution_payload: + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_number: '1' + gas_limit: '1' + gas_used: '1' + timestamp: '1' + extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + base_fee_per_gas: '1' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + transactions: + - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + Capella.SubmitBlockRequest: + value: + message: + slot: '1' + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + gas_limit: '1' + gas_used: '1' + value: '1' + execution_payload: + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_number: '1' + gas_limit: '1' + gas_used: '1' + timestamp: '1' + extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + base_fee_per_gas: '1' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + transactions: + - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + withdrawals: + - index: '1' + validator_index: '1' + address: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + amount: '32000000000' + signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505' + Deneb.SubmitBlockRequest: + value: + message: + slot: '1' + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + builder_pubkey: '0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a' + proposer_fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + gas_limit: '1' + gas_used: '1' + value: '1' + execution_payload: + parent_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + fee_recipient: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + state_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + receipts_root: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + logs_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + prev_randao: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + block_number: '1' + gas_limit: '1' + gas_used: '1' + timestamp: '1' + extra_data: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + base_fee_per_gas: '1' + block_hash: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2' + transactions: + - '0x02f878831469668303f51d843b9ac9f9843b9aca0082520894c93269b73096998db66be0441e836d873535cb9c8894a19041886f000080c001a031cc29234036afbf9a1fb9476b463367cb1f957ac0b919b69bbc798436e604aaa018c4e9c3914eb27aadd0b91e10b18655739fcf8c1fc398763a9f1beecb8ddc86' + withdrawals: + - index: '1' + validator_index: '1' + address: '0xabcf8e0d4e9587369b2301d0790347320302cc09' + amount: '32000000000' + blobs_bundle: + commitments: + - '0x8dab030c51e16e84be9caab84ee3d0b8bbec1db4a0e4de76439da8424d9b957370a10a78851f97e4b54d2ce1ab0d686f' + proofs: + - '0xb4021b0de10f743893d4f71e1bf830c019e832958efd6795baf2f83b8699a9eccc5dc99015d8d4d8ec370d0cc333c06a' + blobs: + - '0x24564723180fcb3d994104538d351c8dcbde12d541676bb736cf678018ca4739' + signature: '0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505'