Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion remote-signing-oapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ openapi: 3.0.3
info:
title: 'Remote Signing API'
description: 'Remote Signing API for communication between remote signers and Ethereum validator clients.'
version: 'v1.3.0'
version: 'v1.4.0'
contact:
name: Ethereum Github
url: https://github.com/ethereum/remote-signing-api/issues
Expand Down
8 changes: 8 additions & 0 deletions signing/paths/sign.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ post:
- $ref: '../schemas.yaml#/components/schemas/SyncCommitteeSelectionProofSigning'
- $ref: '../schemas.yaml#/components/schemas/SyncCommitteeContributionAndProofSigning'
- $ref: '../schemas.yaml#/components/schemas/ValidatorRegistrationSigning'
- $ref: '../schemas.yaml#/components/schemas/ExecutionPayloadBidSigning'
- $ref: '../schemas.yaml#/components/schemas/ExecutionPayloadEnvelopeSigning'
- $ref: '../schemas.yaml#/components/schemas/PayloadAttestationMessageSigning'
- $ref: '../schemas.yaml#/components/schemas/ProposerPreferencesSigning'
discriminator:
propertyName: type
mapping:
Expand All @@ -47,6 +51,10 @@ post:
SYNC_COMMITTEE_SELECTION_PROOF: '../schemas.yaml#/components/schemas/SyncCommitteeSelectionProofSigning'
SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF: '../schemas.yaml#/components/schemas/SyncCommitteeContributionAndProofSigning'
VALIDATOR_REGISTRATION: '../schemas.yaml#/components/schemas/ValidatorRegistrationSigning'
EXECUTION_PAYLOAD_BID: '../schemas.yaml#/components/schemas/ExecutionPayloadBidSigning'
EXECUTION_PAYLOAD_ENVELOPE: '../schemas.yaml#/components/schemas/ExecutionPayloadEnvelopeSigning'
PAYLOAD_ATTESTATION_MESSAGE: '../schemas.yaml#/components/schemas/PayloadAttestationMessageSigning'
PROPOSER_PREFERENCES: '../schemas.yaml#/components/schemas/ProposerPreferencesSigning'
examples:
BLOCK_V2 (FULU):
value:
Expand Down
242 changes: 242 additions & 0 deletions signing/schemas.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,66 @@ components:
required:
- type
- validator_registration
ExecutionPayloadBidSigning:
allOf:
- $ref: '#/components/schemas/Signing'
- type: object
properties:
type:
type: "string"
description: Signing Request type
enum:
- 'EXECUTION_PAYLOAD_BID'
execution_payload_bid:
"$ref": "#/components/schemas/ExecutionPayloadBid"
required:
- type
- execution_payload_bid
ExecutionPayloadEnvelopeSigning:
allOf:
- $ref: '#/components/schemas/Signing'
- type: object
properties:
type:
type: "string"
description: Signing Request type
enum:
- 'EXECUTION_PAYLOAD_ENVELOPE'
execution_payload_envelope:
"$ref": "#/components/schemas/ExecutionPayloadEnvelope"
required:
- type
- execution_payload_envelope
PayloadAttestationMessageSigning:
allOf:
- $ref: '#/components/schemas/Signing'
- type: object
properties:
type:
type: "string"
description: Signing Request type
enum:
- 'PAYLOAD_ATTESTATION_MESSAGE'
payload_attestation_message:
"$ref": "#/components/schemas/PayloadAttestationData"
required:
- type
- payload_attestation_message
ProposerPreferencesSigning:
allOf:
- $ref: '#/components/schemas/Signing'
- type: object
properties:
type:
type: "string"
description: Signing Request type
enum:
- 'PROPOSER_PREFERENCES'
proposer_preferences:
"$ref": "#/components/schemas/ProposerPreferences"
required:
- type
- proposer_preferences
RandaoReveal:
type: "object"
properties:
Expand Down Expand Up @@ -632,6 +692,188 @@ components:
format: uint64
pubkey:
type: string
ExecutionPayloadBid:
type: object
description: >-
SSZ container signed by a builder using DOMAIN_BEACON_BUILDER (0x0B000000)
in Glamsterdam (ePBS) for proposing an execution payload bid.
properties:
parent_block_hash:
type: string
description: Bytes32 hexadecimal
parent_block_root:
type: string
description: Bytes32 hexadecimal
block_hash:
type: string
description: Bytes32 hexadecimal
prev_randao:
type: string
description: Bytes32 hexadecimal
fee_recipient:
type: string
description: Bytes20 hexadecimal
gas_limit:
type: string
format: uint64
builder_index:
type: string
format: uint64
slot:
type: string
format: uint64
value:
type: string
format: uint64
execution_payment:
type: string
format: uint64
blob_kzg_commitments:
type: array
items:
type: string
description: Bytes48 hexadecimal KZG commitment
execution_requests_root:
type: string
description: Bytes32 hash-tree-root of the execution requests
ExecutionPayloadEnvelope:
type: object
description: >-
SSZ container signed by a builder using DOMAIN_BEACON_BUILDER (0x0B000000)
in Glamsterdam (ePBS) when revealing the actual execution payload.
properties:
payload:
description: 'Execution payload (Glamsterdam shape, see ExecutionPayloadGloas)'
$ref: '#/components/schemas/ExecutionPayloadGloas'
execution_requests:
description: 'Execution requests (deposits, withdrawals, consolidations)'
type: object
builder_index:
type: string
format: uint64
beacon_block_root:
type: string
description: Bytes32 hexadecimal
ExecutionPayloadGloas:
type: object
description: >-
Glamsterdam execution payload. Extends the Deneb execution payload with
block_access_list and slot_number fields (slot moved from envelope into
the payload in ePBS).
properties:
parent_hash:
type: string
description: Bytes32 hexadecimal
fee_recipient:
type: string
description: Bytes20 hexadecimal
state_root:
type: string
description: Bytes32 hexadecimal
receipts_root:
type: string
description: Bytes32 hexadecimal
logs_bloom:
type: string
description: Bytes256 hexadecimal
prev_randao:
type: string
description: Bytes32 hexadecimal
block_number:
type: string
format: uint64
gas_limit:
type: string
format: uint64
gas_used:
type: string
format: uint64
timestamp:
type: string
format: uint64
extra_data:
type: string
description: variable-length bytes
base_fee_per_gas:
type: string
description: UInt256 decimal
block_hash:
type: string
description: Bytes32 hexadecimal
transactions:
type: array
items:
type: string
description: variable-length bytes (RLP-encoded transaction)
withdrawals:
type: array
description: List of validator withdrawals (Capella+).
items:
type: object
properties:
index:
type: string
format: uint64
validator_index:
type: string
format: uint64
address:
type: string
description: Bytes20 hexadecimal
amount:
type: string
format: uint64
blob_gas_used:
type: string
format: uint64
excess_blob_gas:
type: string
format: uint64
block_access_list:
type: string
description: variable-length bytes (block access list)
slot_number:
type: string
format: uint64
PayloadAttestationData:
type: object
description: >-
The data component of a PayloadAttestationMessage, signed by a PTC
validator using DOMAIN_PTC_ATTESTER (0x0C000000).
properties:
beacon_block_root:
type: string
description: Bytes32 hexadecimal
example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
slot:
type: string
format: uint64
example: '1'
payload_present:
type: boolean
description: Whether the execution payload for this slot is present
blob_data_available:
type: boolean
description: Whether blob data is available for this slot
ProposerPreferences:
type: object
description: >-
Container signed by a proposer using DOMAIN_PROPOSER_PREFERENCES
(0x0D000000) to advertise their preferences (fee_recipient, gas_limit)
for an upcoming proposal slot.
properties:
proposal_slot:
type: string
format: uint64
validator_index:
type: string
format: uint64
fee_recipient:
type: string
description: Bytes20 hexadecimal
gas_limit:
type: string
format: uint64
BeaconBlockSigning:
allOf:
- $ref: '#/components/schemas/Signing'
Expand Down
Loading