mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 23:48:06 -05:00
CI: Add clang-formatter lint workflow for proto files (#14831)
* Enforce clang-format for proto files in proto/ * Update pb files after #14818 * Changelog fragment
This commit is contained in:
21
.github/workflows/clang-format.yml
vendored
Normal file
21
.github/workflows/clang-format.yml
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
name: Protobuf Format
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ '*' ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ '*' ]
|
||||||
|
merge_group:
|
||||||
|
types: [checks_requested]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
clang-format-checking:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
# Is this step failing for you?
|
||||||
|
# Run: clang-format -i proto/**/*.proto
|
||||||
|
# See: https://clang.llvm.org/docs/ClangFormat.html
|
||||||
|
- uses: RafikFarhad/clang-format-github-action@v3
|
||||||
|
with:
|
||||||
|
sources: "proto/**/*.proto"
|
||||||
5
changelog/pvl_clang_pb.md
Normal file
5
changelog/pvl_clang_pb.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
### Changed
|
||||||
|
- CI now requires proto files to be properly formatted with clang-format. [[PR](https://github.com/prysmaticlabs/prysm/pull/14831)]
|
||||||
|
|
||||||
|
### Ignored
|
||||||
|
- Run ./hacks/update-go-pb.sh
|
||||||
4
proto/dbval/dbval.pb.go
generated
4
proto/dbval/dbval.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/dbval/dbval.proto
|
// source: proto/dbval/dbval.proto
|
||||||
|
|
||||||
package dbval
|
package dbval
|
||||||
|
|||||||
@@ -4,20 +4,25 @@ package ethereum.eth.dbval;
|
|||||||
|
|
||||||
option go_package = "github.com/prysmaticlabs/prysm/v5/proto/dbval;dbval";
|
option go_package = "github.com/prysmaticlabs/prysm/v5/proto/dbval;dbval";
|
||||||
|
|
||||||
// BackfillStatus is a value used to keep track of the progress of the process of backfilling blocks leading up to
|
// BackfillStatus is a value used to keep track of the progress of the process
|
||||||
// the origin block used to checkpoint sync a node. There is only one BackfillStatus value in the database.
|
// of backfilling blocks leading up to the origin block used to checkpoint sync
|
||||||
|
// a node. There is only one BackfillStatus value in the database.
|
||||||
message BackfillStatus {
|
message BackfillStatus {
|
||||||
// low_slot is the slot of the last block that backfill will attempt to download and import.
|
// low_slot is the slot of the last block that backfill will attempt to
|
||||||
// This is determined by MIN_EPOCHS_FOR_BLOCK_REQUESTS, or by a user-specified override.
|
// download and import. This is determined by MIN_EPOCHS_FOR_BLOCK_REQUESTS,
|
||||||
uint64 low_slot = 1;
|
// or by a user-specified override.
|
||||||
// low_root is the root of the last block that backfill will attempt to download and import.
|
uint64 low_slot = 1;
|
||||||
bytes low_root = 2;
|
// low_root is the root of the last block that backfill will attempt to
|
||||||
// low_parent_root is the parent_root of the block at low_root. This enables the backfill service to check
|
// download and import.
|
||||||
// that a block is the direct ancestor of the block for low_root without an additional db lookup.
|
bytes low_root = 2;
|
||||||
bytes low_parent_root = 3;
|
// low_parent_root is the parent_root of the block at low_root. This enables
|
||||||
// origin_slot is the slot of the origin block, which is the block used to initiate a checkpoint sync.
|
// the backfill service to check that a block is the direct ancestor of the
|
||||||
// Backfill uses the origin block as the reference point to determine canonical ancestors.
|
// block for low_root without an additional db lookup.
|
||||||
uint64 origin_slot = 4;
|
bytes low_parent_root = 3;
|
||||||
// origin_root is the root of the origin block.
|
// origin_slot is the slot of the origin block, which is the block used to
|
||||||
bytes origin_root = 6;
|
// initiate a checkpoint sync. Backfill uses the origin block as the reference
|
||||||
|
// point to determine canonical ancestors.
|
||||||
|
uint64 origin_slot = 4;
|
||||||
|
// origin_root is the root of the origin block.
|
||||||
|
bytes origin_root = 6;
|
||||||
}
|
}
|
||||||
|
|||||||
4
proto/engine/v1/electra.pb.go
generated
4
proto/engine/v1/electra.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/engine/v1/electra.proto
|
// source: proto/engine/v1/electra.proto
|
||||||
|
|
||||||
package enginev1
|
package enginev1
|
||||||
|
|||||||
@@ -25,52 +25,59 @@ option java_outer_classname = "ElectraProto";
|
|||||||
option java_package = "org.ethereum.engine.v1";
|
option java_package = "org.ethereum.engine.v1";
|
||||||
option php_namespace = "Ethereum\\Engine\\v1";
|
option php_namespace = "Ethereum\\Engine\\v1";
|
||||||
|
|
||||||
// WithdrawalRequest is the message from the execution layer to trigger the withdrawal of a validator's balance to its withdrawal address
|
// WithdrawalRequest is the message from the execution layer to trigger the
|
||||||
// new in Electra
|
// withdrawal of a validator's balance to its withdrawal address new in Electra
|
||||||
message WithdrawalRequest {
|
message WithdrawalRequest {
|
||||||
// The execution address receiving the funds
|
// The execution address receiving the funds
|
||||||
bytes source_address = 1 [(ethereum.eth.ext.ssz_size) = "20"];
|
bytes source_address = 1 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||||
|
|
||||||
// 48 byte BLS public key of the validator.
|
// 48 byte BLS public key of the validator.
|
||||||
bytes validator_pubkey = 2 [(ethereum.eth.ext.ssz_size) = "48"];
|
bytes validator_pubkey = 2 [ (ethereum.eth.ext.ssz_size) = "48" ];
|
||||||
|
|
||||||
// Deposit amount in gwei.
|
// Deposit amount in gwei.
|
||||||
uint64 amount = 3;
|
uint64 amount = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// DepositRequest is the message from the execution layer to trigger the deposit of a validator's balance to its balance
|
// DepositRequest is the message from the execution layer to trigger the deposit
|
||||||
// new in Electra
|
// of a validator's balance to its balance new in Electra
|
||||||
message DepositRequest {
|
message DepositRequest {
|
||||||
bytes pubkey = 1 [(ethereum.eth.ext.ssz_size) = "48"];
|
bytes pubkey = 1 [ (ethereum.eth.ext.ssz_size) = "48" ];
|
||||||
bytes withdrawal_credentials = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes withdrawal_credentials = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 amount = 3;
|
uint64 amount = 3;
|
||||||
bytes signature = 4 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 4 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
uint64 index = 5;
|
uint64 index = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ConsolidationRequest is the message from the execution layer to trigger the consolidation of one
|
// ConsolidationRequest is the message from the execution layer to trigger the
|
||||||
// validator to another validator.
|
// consolidation of one validator to another validator.
|
||||||
message ConsolidationRequest {
|
message ConsolidationRequest {
|
||||||
// Source address of account which originated the request.
|
// Source address of account which originated the request.
|
||||||
bytes source_address = 1 [(ethereum.eth.ext.ssz_size) = "20"];
|
bytes source_address = 1 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||||
// Funds will be moved from this public key.
|
// Funds will be moved from this public key.
|
||||||
bytes source_pubkey = 2 [(ethereum.eth.ext.ssz_size) = "48"];
|
bytes source_pubkey = 2 [ (ethereum.eth.ext.ssz_size) = "48" ];
|
||||||
// Funds will be moved to this public key.
|
// Funds will be moved to this public key.
|
||||||
bytes target_pubkey = 3 [(ethereum.eth.ext.ssz_size) = "48"];
|
bytes target_pubkey = 3 [ (ethereum.eth.ext.ssz_size) = "48" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// ExecutionRequests is a container that contains all the requests from the execution layer to be included in a block
|
// ExecutionRequests is a container that contains all the requests from the
|
||||||
|
// execution layer to be included in a block
|
||||||
message ExecutionRequests {
|
message ExecutionRequests {
|
||||||
repeated DepositRequest deposits = 1 [(ethereum.eth.ext.ssz_max) = "max_deposit_requests_per_payload.size"];
|
repeated DepositRequest deposits = 1
|
||||||
repeated WithdrawalRequest withdrawals = 2 [(ethereum.eth.ext.ssz_max) = "max_withdrawal_requests_per_payload.size"];
|
[ (ethereum.eth.ext.ssz_max) = "max_deposit_requests_per_payload.size" ];
|
||||||
repeated ConsolidationRequest consolidations = 3 [(ethereum.eth.ext.ssz_max) = "max_consolidation_requests_per_payload.size"];
|
repeated WithdrawalRequest withdrawals = 2
|
||||||
|
[ (ethereum.eth.ext.ssz_max) =
|
||||||
|
"max_withdrawal_requests_per_payload.size" ];
|
||||||
|
repeated ConsolidationRequest consolidations = 3
|
||||||
|
[ (ethereum.eth.ext.ssz_max) =
|
||||||
|
"max_consolidation_requests_per_payload.size" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// ExecutionBundleElectra is a container that builds on Payload V4 and includes execution requests sidecar needed post Electra
|
// ExecutionBundleElectra is a container that builds on Payload V4 and includes
|
||||||
|
// execution requests sidecar needed post Electra
|
||||||
message ExecutionBundleElectra {
|
message ExecutionBundleElectra {
|
||||||
ExecutionPayloadDeneb payload = 1;
|
ExecutionPayloadDeneb payload = 1;
|
||||||
bytes value = 2;
|
bytes value = 2;
|
||||||
BlobsBundle blobs_bundle = 3;
|
BlobsBundle blobs_bundle = 3;
|
||||||
bool should_override_builder = 4;
|
bool should_override_builder = 4;
|
||||||
repeated bytes execution_requests = 5;
|
repeated bytes execution_requests = 5;
|
||||||
}
|
}
|
||||||
|
|||||||
4
proto/engine/v1/execution_engine.pb.go
generated
4
proto/engine/v1/execution_engine.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/engine/v1/execution_engine.proto
|
// source: proto/engine/v1/execution_engine.proto
|
||||||
|
|
||||||
package enginev1
|
package enginev1
|
||||||
|
|||||||
@@ -25,206 +25,232 @@ option java_package = "org.ethereum.engine.v1";
|
|||||||
option php_namespace = "Ethereum\\Engine\\v1";
|
option php_namespace = "Ethereum\\Engine\\v1";
|
||||||
|
|
||||||
message ExecutionPayload {
|
message ExecutionPayload {
|
||||||
bytes parent_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes parent_hash = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes fee_recipient = 2 [(ethereum.eth.ext.ssz_size) = "20"];
|
bytes fee_recipient = 2 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||||
bytes state_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes state_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes receipts_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes receipts_root = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes logs_bloom = 5 [(ethereum.eth.ext.ssz_size) = "logs_bloom.size"];
|
bytes logs_bloom = 5 [ (ethereum.eth.ext.ssz_size) = "logs_bloom.size" ];
|
||||||
bytes prev_randao = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes prev_randao = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 block_number = 7;
|
uint64 block_number = 7;
|
||||||
uint64 gas_limit = 8;
|
uint64 gas_limit = 8;
|
||||||
uint64 gas_used = 9;
|
uint64 gas_used = 9;
|
||||||
uint64 timestamp = 10;
|
uint64 timestamp = 10;
|
||||||
bytes extra_data = 11 [(ethereum.eth.ext.ssz_max) = "extra_data.size"];
|
bytes extra_data = 11 [ (ethereum.eth.ext.ssz_max) = "extra_data.size" ];
|
||||||
bytes base_fee_per_gas = 12 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes base_fee_per_gas = 12 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes block_hash = 13 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_hash = 13 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
repeated bytes transactions = 14 [(ethereum.eth.ext.ssz_size) = "?,?", (ethereum.eth.ext.ssz_max) = "1048576,1073741824"];
|
repeated bytes transactions = 14 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "?,?",
|
||||||
|
(ethereum.eth.ext.ssz_max) = "1048576,1073741824"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message ExecutionPayloadCapella {
|
message ExecutionPayloadCapella {
|
||||||
bytes parent_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes parent_hash = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes fee_recipient = 2 [(ethereum.eth.ext.ssz_size) = "20"];
|
bytes fee_recipient = 2 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||||
bytes state_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes state_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes receipts_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes receipts_root = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes logs_bloom = 5 [(ethereum.eth.ext.ssz_size) = "logs_bloom.size"];
|
bytes logs_bloom = 5 [ (ethereum.eth.ext.ssz_size) = "logs_bloom.size" ];
|
||||||
bytes prev_randao = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes prev_randao = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 block_number = 7;
|
uint64 block_number = 7;
|
||||||
uint64 gas_limit = 8;
|
uint64 gas_limit = 8;
|
||||||
uint64 gas_used = 9;
|
uint64 gas_used = 9;
|
||||||
uint64 timestamp = 10;
|
uint64 timestamp = 10;
|
||||||
bytes extra_data = 11 [(ethereum.eth.ext.ssz_max) = "extra_data.size"];
|
bytes extra_data = 11 [ (ethereum.eth.ext.ssz_max) = "extra_data.size" ];
|
||||||
bytes base_fee_per_gas = 12 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes base_fee_per_gas = 12 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes block_hash = 13 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_hash = 13 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
repeated bytes transactions = 14 [(ethereum.eth.ext.ssz_size) = "?,?", (ethereum.eth.ext.ssz_max) = "1048576,1073741824"];
|
repeated bytes transactions = 14 [
|
||||||
// MAX_WITHDRAWALS_PER_PAYLOAD
|
(ethereum.eth.ext.ssz_size) = "?,?",
|
||||||
repeated Withdrawal withdrawals = 15 [(ethereum.eth.ext.ssz_max) = "withdrawal.size"]; // New in Capella.
|
(ethereum.eth.ext.ssz_max) = "1048576,1073741824"
|
||||||
|
];
|
||||||
|
// MAX_WITHDRAWALS_PER_PAYLOAD
|
||||||
|
repeated Withdrawal withdrawals = 15
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "withdrawal.size" ]; // New in Capella.
|
||||||
}
|
}
|
||||||
|
|
||||||
message ExecutionPayloadDeneb {
|
message ExecutionPayloadDeneb {
|
||||||
bytes parent_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes parent_hash = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes fee_recipient = 2 [(ethereum.eth.ext.ssz_size) = "20"];
|
bytes fee_recipient = 2 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||||
bytes state_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes state_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes receipts_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes receipts_root = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes logs_bloom = 5 [(ethereum.eth.ext.ssz_size) = "logs_bloom.size"];
|
bytes logs_bloom = 5 [ (ethereum.eth.ext.ssz_size) = "logs_bloom.size" ];
|
||||||
bytes prev_randao = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes prev_randao = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 block_number = 7;
|
uint64 block_number = 7;
|
||||||
uint64 gas_limit = 8;
|
uint64 gas_limit = 8;
|
||||||
uint64 gas_used = 9;
|
uint64 gas_used = 9;
|
||||||
uint64 timestamp = 10;
|
uint64 timestamp = 10;
|
||||||
bytes extra_data = 11 [(ethereum.eth.ext.ssz_max) = "extra_data.size"];
|
bytes extra_data = 11 [ (ethereum.eth.ext.ssz_max) = "extra_data.size" ];
|
||||||
bytes base_fee_per_gas = 12 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes base_fee_per_gas = 12 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes block_hash = 13 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_hash = 13 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
repeated bytes transactions = 14 [(ethereum.eth.ext.ssz_size) = "?,?", (ethereum.eth.ext.ssz_max) = "1048576,1073741824"];
|
repeated bytes transactions = 14 [
|
||||||
// MAX_WITHDRAWALS_PER_PAYLOAD
|
(ethereum.eth.ext.ssz_size) = "?,?",
|
||||||
repeated Withdrawal withdrawals = 15 [(ethereum.eth.ext.ssz_max) = "withdrawal.size"];
|
(ethereum.eth.ext.ssz_max) = "1048576,1073741824"
|
||||||
uint64 blob_gas_used = 16;
|
];
|
||||||
uint64 excess_blob_gas = 17;
|
// MAX_WITHDRAWALS_PER_PAYLOAD
|
||||||
|
repeated Withdrawal withdrawals = 15
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "withdrawal.size" ];
|
||||||
|
uint64 blob_gas_used = 16;
|
||||||
|
uint64 excess_blob_gas = 17;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ExecutionPayloadCapellaWithValue {
|
message ExecutionPayloadCapellaWithValue {
|
||||||
ExecutionPayloadCapella payload = 1;
|
ExecutionPayloadCapella payload = 1;
|
||||||
bytes value = 2;
|
bytes value = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ExecutionPayloadDenebWithValueAndBlobsBundle {
|
message ExecutionPayloadDenebWithValueAndBlobsBundle {
|
||||||
ExecutionPayloadDeneb payload = 1;
|
ExecutionPayloadDeneb payload = 1;
|
||||||
bytes value = 2;
|
bytes value = 2;
|
||||||
BlobsBundle blobs_bundle = 3;
|
BlobsBundle blobs_bundle = 3;
|
||||||
bool should_override_builder = 4;
|
bool should_override_builder = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
message ExecutionPayloadHeader {
|
message ExecutionPayloadHeader {
|
||||||
bytes parent_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes parent_hash = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes fee_recipient = 2 [(ethereum.eth.ext.ssz_size) = "20"];
|
bytes fee_recipient = 2 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||||
bytes state_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes state_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes receipts_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes receipts_root = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes logs_bloom = 5 [(ethereum.eth.ext.ssz_size) = "logs_bloom.size"];
|
bytes logs_bloom = 5 [ (ethereum.eth.ext.ssz_size) = "logs_bloom.size" ];
|
||||||
bytes prev_randao = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes prev_randao = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 block_number = 7;
|
uint64 block_number = 7;
|
||||||
uint64 gas_limit = 8;
|
uint64 gas_limit = 8;
|
||||||
uint64 gas_used = 9;
|
uint64 gas_used = 9;
|
||||||
uint64 timestamp = 10;
|
uint64 timestamp = 10;
|
||||||
bytes extra_data = 11 [(ethereum.eth.ext.ssz_max) = "extra_data.size"];
|
bytes extra_data = 11 [ (ethereum.eth.ext.ssz_max) = "extra_data.size" ];
|
||||||
bytes base_fee_per_gas = 12 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes base_fee_per_gas = 12 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes block_hash = 13 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_hash = 13 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes transactions_root = 14 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes transactions_root = 14 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message ExecutionPayloadHeaderCapella {
|
message ExecutionPayloadHeaderCapella {
|
||||||
bytes parent_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes parent_hash = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes fee_recipient = 2 [(ethereum.eth.ext.ssz_size) = "20"];
|
bytes fee_recipient = 2 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||||
bytes state_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes state_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes receipts_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes receipts_root = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes logs_bloom = 5 [(ethereum.eth.ext.ssz_size) = "logs_bloom.size"];
|
bytes logs_bloom = 5 [ (ethereum.eth.ext.ssz_size) = "logs_bloom.size" ];
|
||||||
bytes prev_randao = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes prev_randao = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 block_number = 7;
|
uint64 block_number = 7;
|
||||||
uint64 gas_limit = 8;
|
uint64 gas_limit = 8;
|
||||||
uint64 gas_used = 9;
|
uint64 gas_used = 9;
|
||||||
uint64 timestamp = 10;
|
uint64 timestamp = 10;
|
||||||
bytes extra_data = 11 [(ethereum.eth.ext.ssz_max) = "extra_data.size"];
|
bytes extra_data = 11 [ (ethereum.eth.ext.ssz_max) = "extra_data.size" ];
|
||||||
bytes base_fee_per_gas = 12 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes base_fee_per_gas = 12 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes block_hash = 13 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_hash = 13 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes transactions_root = 14 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes transactions_root = 14 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes withdrawals_root = 15 [(ethereum.eth.ext.ssz_size) = "32"]; // New in Capella.
|
bytes withdrawals_root = 15
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "32" ]; // New in Capella.
|
||||||
}
|
}
|
||||||
|
|
||||||
message ExecutionPayloadHeaderDeneb {
|
message ExecutionPayloadHeaderDeneb {
|
||||||
bytes parent_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes parent_hash = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes fee_recipient = 2 [(ethereum.eth.ext.ssz_size) = "20"];
|
bytes fee_recipient = 2 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||||
bytes state_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes state_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes receipts_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes receipts_root = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes logs_bloom = 5 [(ethereum.eth.ext.ssz_size) = "logs_bloom.size"];
|
bytes logs_bloom = 5 [ (ethereum.eth.ext.ssz_size) = "logs_bloom.size" ];
|
||||||
bytes prev_randao = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes prev_randao = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 block_number = 7;
|
uint64 block_number = 7;
|
||||||
uint64 gas_limit = 8;
|
uint64 gas_limit = 8;
|
||||||
uint64 gas_used = 9;
|
uint64 gas_used = 9;
|
||||||
uint64 timestamp = 10;
|
uint64 timestamp = 10;
|
||||||
bytes extra_data = 11 [(ethereum.eth.ext.ssz_max) = "extra_data.size"];
|
bytes extra_data = 11 [ (ethereum.eth.ext.ssz_max) = "extra_data.size" ];
|
||||||
bytes base_fee_per_gas = 12 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes base_fee_per_gas = 12 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes block_hash = 13 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_hash = 13 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes transactions_root = 14 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes transactions_root = 14 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes withdrawals_root = 15 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes withdrawals_root = 15 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 blob_gas_used = 16;
|
uint64 blob_gas_used = 16;
|
||||||
uint64 excess_blob_gas = 17;
|
uint64 excess_blob_gas = 17;
|
||||||
}
|
}
|
||||||
|
|
||||||
message PayloadAttributes {
|
message PayloadAttributes {
|
||||||
uint64 timestamp = 1;
|
uint64 timestamp = 1;
|
||||||
bytes prev_randao = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes prev_randao = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes suggested_fee_recipient = 3 [(ethereum.eth.ext.ssz_size) = "20"];
|
bytes suggested_fee_recipient = 3 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message PayloadAttributesV2 {
|
message PayloadAttributesV2 {
|
||||||
uint64 timestamp = 1;
|
uint64 timestamp = 1;
|
||||||
bytes prev_randao = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes prev_randao = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes suggested_fee_recipient = 3 [(ethereum.eth.ext.ssz_size) = "20"];
|
bytes suggested_fee_recipient = 3 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||||
repeated Withdrawal withdrawals = 4 [(ethereum.eth.ext.ssz_max) = "withdrawal.size"]; // New in Capella.
|
repeated Withdrawal withdrawals = 4
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "withdrawal.size" ]; // New in Capella.
|
||||||
}
|
}
|
||||||
|
|
||||||
message PayloadAttributesV3 {
|
message PayloadAttributesV3 {
|
||||||
uint64 timestamp = 1;
|
uint64 timestamp = 1;
|
||||||
bytes prev_randao = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes prev_randao = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes suggested_fee_recipient = 3 [(ethereum.eth.ext.ssz_size) = "20"];
|
bytes suggested_fee_recipient = 3 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||||
repeated Withdrawal withdrawals = 4 [(ethereum.eth.ext.ssz_max) = "withdrawal.size"];
|
repeated Withdrawal withdrawals = 4
|
||||||
bytes parent_beacon_block_root = 5 [(ethereum.eth.ext.ssz_size) = "32"];
|
[ (ethereum.eth.ext.ssz_max) = "withdrawal.size" ];
|
||||||
|
bytes parent_beacon_block_root = 5 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message PayloadStatus {
|
message PayloadStatus {
|
||||||
Status status = 1;
|
Status status = 1;
|
||||||
bytes latest_valid_hash = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes latest_valid_hash = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
string validation_error = 3;
|
string validation_error = 3;
|
||||||
enum Status {
|
enum Status {
|
||||||
UNKNOWN = 0;
|
UNKNOWN = 0;
|
||||||
VALID = 1;
|
VALID = 1;
|
||||||
INVALID = 2;
|
INVALID = 2;
|
||||||
SYNCING = 3;
|
SYNCING = 3;
|
||||||
ACCEPTED = 4;
|
ACCEPTED = 4;
|
||||||
INVALID_BLOCK_HASH = 5;
|
INVALID_BLOCK_HASH = 5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
message ForkchoiceState {
|
message ForkchoiceState {
|
||||||
bytes head_block_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes head_block_hash = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes safe_block_hash = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes safe_block_hash = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes finalized_block_hash = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes finalized_block_hash = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// The withdrawal receipt with the recipient address and amount withdrawn
|
// The withdrawal receipt with the recipient address and amount withdrawn
|
||||||
message Withdrawal {
|
message Withdrawal {
|
||||||
// Withdrawal index for accounting purposes
|
// Withdrawal index for accounting purposes
|
||||||
uint64 index = 1;
|
uint64 index = 1;
|
||||||
|
|
||||||
// Validator index for the withdrawal
|
// Validator index for the withdrawal
|
||||||
uint64 validator_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 validator_index = 2
|
||||||
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.ValidatorIndex" ];
|
||||||
|
|
||||||
// The execution address receiving the funds
|
// The execution address receiving the funds
|
||||||
bytes address = 3 [(ethereum.eth.ext.ssz_size) = "20"];
|
bytes address = 3 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||||
|
|
||||||
// The withdrawn amount in Gwei
|
// The withdrawn amount in Gwei
|
||||||
uint64 amount = 4;
|
uint64 amount = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
// BlobsBundle is retrieved through engine-api from the execution layer client.
|
// BlobsBundle is retrieved through engine-api from the execution layer client.
|
||||||
// It consists of the necessary components for constructing a blobs sidecar object to gossip through p2p.
|
// It consists of the necessary components for constructing a blobs sidecar
|
||||||
|
// object to gossip through p2p.
|
||||||
message BlobsBundle {
|
message BlobsBundle {
|
||||||
// The KZG commitments of the blobs.
|
// The KZG commitments of the blobs.
|
||||||
repeated bytes kzg_commitments = 1 [(ethereum.eth.ext.ssz_size) = "?,48", (ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"];
|
repeated bytes kzg_commitments = 1 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "?,48",
|
||||||
|
(ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"
|
||||||
|
];
|
||||||
|
|
||||||
// The proofs of the blobs.
|
// The proofs of the blobs.
|
||||||
repeated bytes proofs = 2 [(ethereum.eth.ext.ssz_size) = "?,48", (ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"];
|
repeated bytes proofs = 2 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "?,48",
|
||||||
|
(ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"
|
||||||
|
];
|
||||||
|
|
||||||
// The blobs itself.
|
// The blobs itself.
|
||||||
repeated bytes blobs = 3 [(ethereum.eth.ext.ssz_size) = "?,blob.size", (ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"];
|
repeated bytes blobs = 3 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "?,blob.size",
|
||||||
|
(ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Blob contains the data that is to be committed on chain.
|
// Blob contains the data that is to be committed on chain.
|
||||||
message Blob {
|
message Blob {
|
||||||
// The blob bytes.
|
// The blob bytes.
|
||||||
bytes data = 1 [(ethereum.eth.ext.ssz_size) = "blob.size"];
|
bytes data = 1 [ (ethereum.eth.ext.ssz_size) = "blob.size" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message BlobAndProof {
|
message BlobAndProof {
|
||||||
bytes blob = 1 [(ethereum.eth.ext.ssz_size) = "blob.size"];
|
bytes blob = 1 [ (ethereum.eth.ext.ssz_size) = "blob.size" ];
|
||||||
bytes kzg_proof = 2 [(ethereum.eth.ext.ssz_size) = "48"];
|
bytes kzg_proof = 2 [ (ethereum.eth.ext.ssz_size) = "48" ];
|
||||||
}
|
}
|
||||||
|
|||||||
4
proto/eth/ext/options.pb.go
generated
4
proto/eth/ext/options.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/eth/ext/options.proto
|
// source: proto/eth/ext/options.proto
|
||||||
|
|
||||||
package ext
|
package ext
|
||||||
|
|||||||
4
proto/eth/v1/attestation.pb.go
generated
4
proto/eth/v1/attestation.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/eth/v1/attestation.proto
|
// source: proto/eth/v1/attestation.proto
|
||||||
|
|
||||||
package v1
|
package v1
|
||||||
|
|||||||
@@ -26,62 +26,79 @@ option java_package = "org.ethereum.eth.v1";
|
|||||||
option php_namespace = "Ethereum\\Eth\\v1";
|
option php_namespace = "Ethereum\\Eth\\v1";
|
||||||
|
|
||||||
message Attestation {
|
message Attestation {
|
||||||
// A bitfield representation of validator indices that have voted exactly
|
// A bitfield representation of validator indices that have voted exactly
|
||||||
// the same vote and have been aggregated into this attestation.
|
// the same vote and have been aggregated into this attestation.
|
||||||
bytes aggregation_bits = 1 [(ethereum.eth.ext.ssz_max) = "2048", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitlist"];
|
bytes aggregation_bits = 1 [
|
||||||
|
(ethereum.eth.ext.ssz_max) = "2048",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitlist"
|
||||||
|
];
|
||||||
|
|
||||||
AttestationData data = 2;
|
AttestationData data = 2;
|
||||||
|
|
||||||
// 96 byte BLS aggregate signature.
|
// 96 byte BLS aggregate signature.
|
||||||
bytes signature = 3 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 3 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message AggregateAttestationAndProof {
|
message AggregateAttestationAndProof {
|
||||||
// The aggregator index that submitted this aggregated attestation and proof.
|
// The aggregator index that submitted this aggregated attestation and proof.
|
||||||
uint64 aggregator_index = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 aggregator_index = 1
|
||||||
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.ValidatorIndex" ];
|
||||||
|
|
||||||
// The aggregated attestation that was submitted.
|
// The aggregated attestation that was submitted.
|
||||||
Attestation aggregate = 3;
|
Attestation aggregate = 3;
|
||||||
|
|
||||||
// 96 byte selection proof signed by the aggregator, which is the signature of the slot to aggregate.
|
// 96 byte selection proof signed by the aggregator, which is the signature of
|
||||||
bytes selection_proof = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
// the slot to aggregate.
|
||||||
|
bytes selection_proof = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message SignedAggregateAttestationAndProof {
|
message SignedAggregateAttestationAndProof {
|
||||||
// The aggregated attestation and selection proof itself.
|
// The aggregated attestation and selection proof itself.
|
||||||
AggregateAttestationAndProof message = 1;
|
AggregateAttestationAndProof message = 1;
|
||||||
|
|
||||||
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message AttestationData {
|
message AttestationData {
|
||||||
// Attestation data includes information on Casper the Friendly Finality Gadget's votes
|
// Attestation data includes information on Casper the Friendly Finality
|
||||||
// See: https://arxiv.org/pdf/1710.09437.pdf
|
// Gadget's votes See: https://arxiv.org/pdf/1710.09437.pdf
|
||||||
|
|
||||||
// Slot of the attestation attesting for.
|
// Slot of the attestation attesting for.
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
|
|
||||||
// The committee index that submitted this attestation.
|
// The committee index that submitted this attestation.
|
||||||
uint64 index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.CommitteeIndex"];
|
uint64 index = 2 [ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.CommitteeIndex" ];
|
||||||
|
|
||||||
// 32 byte root of the LMD GHOST block vote.
|
// 32 byte root of the LMD GHOST block vote.
|
||||||
bytes beacon_block_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes beacon_block_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// The most recent justified checkpoint in the beacon state
|
// The most recent justified checkpoint in the beacon state
|
||||||
Checkpoint source = 4;
|
Checkpoint source = 4;
|
||||||
|
|
||||||
// The checkpoint attempting to be justified for the current epoch and its epoch boundary block
|
// The checkpoint attempting to be justified for the current epoch and its
|
||||||
Checkpoint target = 5;
|
// epoch boundary block
|
||||||
|
Checkpoint target = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Checkpoint {
|
message Checkpoint {
|
||||||
// A checkpoint is every epoch's first slot. The goal of Casper FFG
|
// A checkpoint is every epoch's first slot. The goal of Casper FFG
|
||||||
// is to link the check points together for justification and finalization.
|
// is to link the check points together for justification and finalization.
|
||||||
|
|
||||||
// Epoch the checkpoint references.
|
// Epoch the checkpoint references.
|
||||||
uint64 epoch = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
uint64 epoch = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
|
||||||
// Block root of the checkpoint references.
|
// Block root of the checkpoint references.
|
||||||
bytes root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes root = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
}
|
}
|
||||||
|
|||||||
4
proto/eth/v1/beacon_block.pb.go
generated
4
proto/eth/v1/beacon_block.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/eth/v1/beacon_block.proto
|
// source: proto/eth/v1/beacon_block.proto
|
||||||
|
|
||||||
package v1
|
package v1
|
||||||
|
|||||||
@@ -26,140 +26,158 @@ option java_outer_classname = "BeaconBlockProto";
|
|||||||
option java_package = "org.ethereum.eth.v1";
|
option java_package = "org.ethereum.eth.v1";
|
||||||
option php_namespace = "Ethereum\\Eth\\v1";
|
option php_namespace = "Ethereum\\Eth\\v1";
|
||||||
|
|
||||||
// The Ethereum consensus beacon block. The message does not contain a validator signature.
|
// The Ethereum consensus beacon block. The message does not contain a validator
|
||||||
|
// signature.
|
||||||
message BeaconBlock {
|
message BeaconBlock {
|
||||||
// Beacon chain slot that this block represents.
|
// Beacon chain slot that this block represents.
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
|
|
||||||
// Validator index of the validator that proposed the block header.
|
// Validator index of the validator that proposed the block header.
|
||||||
uint64 proposer_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 proposer_index = 2 [ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/"
|
||||||
|
"consensus-types/primitives.ValidatorIndex" ];
|
||||||
|
|
||||||
// 32 byte root of the parent block.
|
// 32 byte root of the parent block.
|
||||||
bytes parent_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes parent_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// 32 byte root of the resulting state after processing this block.
|
// 32 byte root of the resulting state after processing this block.
|
||||||
bytes state_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes state_root = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// The block body itself.
|
// The block body itself.
|
||||||
BeaconBlockBody body = 5;
|
BeaconBlockBody body = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The signed version of beacon block.
|
// The signed version of beacon block.
|
||||||
message SignedBeaconBlock {
|
message SignedBeaconBlock {
|
||||||
// The unsigned beacon block itself.
|
// The unsigned beacon block itself.
|
||||||
BeaconBlock block = 1;
|
BeaconBlock block = 1;
|
||||||
|
|
||||||
// 96 byte BLS signature from the validator that produced this block.
|
// 96 byte BLS signature from the validator that produced this block.
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// The block body of an Ethereum consensus beacon block.
|
// The block body of an Ethereum consensus beacon block.
|
||||||
message BeaconBlockBody {
|
message BeaconBlockBody {
|
||||||
// The validators RANDAO reveal 96 byte value.
|
// The validators RANDAO reveal 96 byte value.
|
||||||
bytes randao_reveal = 1 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes randao_reveal = 1 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
|
|
||||||
// A reference to the Ethereum 1.x chain.
|
// A reference to the Ethereum 1.x chain.
|
||||||
Eth1Data eth1_data = 2;
|
Eth1Data eth1_data = 2;
|
||||||
|
|
||||||
// 32 byte field of arbitrary data. This field may contain any data and
|
// 32 byte field of arbitrary data. This field may contain any data and
|
||||||
// is not used for anything other than a fun message.
|
// is not used for anything other than a fun message.
|
||||||
bytes graffiti = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes graffiti = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// Block operations
|
// Block operations
|
||||||
// Refer to spec constants at https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#max-operations-per-block
|
// Refer to spec constants at
|
||||||
|
// https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#max-operations-per-block
|
||||||
|
|
||||||
// At most MAX_PROPOSER_SLASHINGS.
|
// At most MAX_PROPOSER_SLASHINGS.
|
||||||
repeated ProposerSlashing proposer_slashings = 4 [(ethereum.eth.ext.ssz_max) = "16"];
|
repeated ProposerSlashing proposer_slashings = 4
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "16" ];
|
||||||
|
|
||||||
// At most MAX_ATTESTER_SLASHINGS.
|
// At most MAX_ATTESTER_SLASHINGS.
|
||||||
repeated AttesterSlashing attester_slashings = 5 [(ethereum.eth.ext.ssz_max) = "2"];
|
repeated AttesterSlashing attester_slashings = 5
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "2" ];
|
||||||
|
|
||||||
// At most MAX_ATTESTATIONS.
|
// At most MAX_ATTESTATIONS.
|
||||||
repeated Attestation attestations = 6 [(ethereum.eth.ext.ssz_max) = "128"];
|
repeated Attestation attestations = 6 [ (ethereum.eth.ext.ssz_max) = "128" ];
|
||||||
|
|
||||||
// At most MAX_DEPOSITS.
|
// At most MAX_DEPOSITS.
|
||||||
repeated Deposit deposits = 7 [(ethereum.eth.ext.ssz_max) = "16"];
|
repeated Deposit deposits = 7 [ (ethereum.eth.ext.ssz_max) = "16" ];
|
||||||
|
|
||||||
// At most MAX_VOLUNTARY_EXITS.
|
// At most MAX_VOLUNTARY_EXITS.
|
||||||
repeated SignedVoluntaryExit voluntary_exits = 8 [(ethereum.eth.ext.ssz_max) = "16"];
|
repeated SignedVoluntaryExit voluntary_exits = 8
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "16" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Proposer slashings are proofs that a slashable offense has been committed by
|
// Proposer slashings are proofs that a slashable offense has been committed by
|
||||||
// proposing two conflicting blocks from the same validator.
|
// proposing two conflicting blocks from the same validator.
|
||||||
message ProposerSlashing {
|
message ProposerSlashing {
|
||||||
// First conflicting signed block header.
|
// First conflicting signed block header.
|
||||||
SignedBeaconBlockHeader signed_header_1 = 2;
|
SignedBeaconBlockHeader signed_header_1 = 2;
|
||||||
|
|
||||||
// Second conflicting signed block header.
|
// Second conflicting signed block header.
|
||||||
SignedBeaconBlockHeader signed_header_2 = 3;
|
SignedBeaconBlockHeader signed_header_2 = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Attestor slashings are proofs that a slashable offense has been committed by
|
// Attestor slashings are proofs that a slashable offense has been committed by
|
||||||
// attesting to two conflicting pieces of information by the same validator.
|
// attesting to two conflicting pieces of information by the same validator.
|
||||||
message AttesterSlashing {
|
message AttesterSlashing {
|
||||||
// First conflicting attestation.
|
// First conflicting attestation.
|
||||||
IndexedAttestation attestation_1 = 1;
|
IndexedAttestation attestation_1 = 1;
|
||||||
|
|
||||||
// Second conflicting attestation.
|
// Second conflicting attestation.
|
||||||
IndexedAttestation attestation_2 = 2;
|
IndexedAttestation attestation_2 = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deposit into the Ethereum consensus from the Ethereum 1.x deposit contract.
|
// Deposit into the Ethereum consensus from the Ethereum 1.x deposit contract.
|
||||||
message Deposit {
|
message Deposit {
|
||||||
message Data {
|
message Data {
|
||||||
// 48 byte BLS public key of the validator.
|
// 48 byte BLS public key of the validator.
|
||||||
bytes pubkey = 1 [(ethereum.eth.ext.ssz_size) = "48", (ethereum.eth.ext.spec_name) = "pubkey"];
|
bytes pubkey = 1 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "48",
|
||||||
|
(ethereum.eth.ext.spec_name) = "pubkey"
|
||||||
|
];
|
||||||
|
|
||||||
// A 32 byte hash of the withdrawal address public key.
|
// A 32 byte hash of the withdrawal address public key.
|
||||||
bytes withdrawal_credentials = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes withdrawal_credentials = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// Deposit amount in gwei.
|
// Deposit amount in gwei.
|
||||||
uint64 amount = 3;
|
uint64 amount = 3;
|
||||||
|
|
||||||
// 96 byte signature from the validators public key.
|
// 96 byte signature from the validators public key.
|
||||||
bytes signature = 4 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 4 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// 32 byte roots in the deposit tree branch.
|
// 32 byte roots in the deposit tree branch.
|
||||||
repeated bytes proof = 1 [(ethereum.eth.ext.ssz_size) = "33,32"];
|
repeated bytes proof = 1 [ (ethereum.eth.ext.ssz_size) = "33,32" ];
|
||||||
|
|
||||||
Data data = 2;
|
Data data = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// A message that represents a validator signaling that they want to voluntarily
|
// A message that represents a validator signaling that they want to voluntarily
|
||||||
// withdraw from the active validator set. The message does not contain a
|
// withdraw from the active validator set. The message does not contain a
|
||||||
// validator signature.
|
// validator signature.
|
||||||
message VoluntaryExit {
|
message VoluntaryExit {
|
||||||
// The epoch on when exit request becomes valid.
|
// The epoch on when exit request becomes valid.
|
||||||
uint64 epoch = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
uint64 epoch = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
|
||||||
// Index of the exiting validator.
|
// Index of the exiting validator.
|
||||||
uint64 validator_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 validator_index = 2
|
||||||
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.ValidatorIndex" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// The signed version of voluntary exit.
|
// The signed version of voluntary exit.
|
||||||
message SignedVoluntaryExit {
|
message SignedVoluntaryExit {
|
||||||
// The unsigned voluntary exit itself.
|
// The unsigned voluntary exit itself.
|
||||||
VoluntaryExit message = 1;
|
VoluntaryExit message = 1;
|
||||||
|
|
||||||
// Validator's 96 byte signature
|
// Validator's 96 byte signature
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Eth1Data represents references to the Ethereum 1.x deposit contract.
|
// Eth1Data represents references to the Ethereum 1.x deposit contract.
|
||||||
message Eth1Data {
|
message Eth1Data {
|
||||||
// The 32 byte deposit tree root for the last deposit included in this
|
// The 32 byte deposit tree root for the last deposit included in this
|
||||||
// block.
|
// block.
|
||||||
bytes deposit_root = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes deposit_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// The total number of deposits included in the beacon chain since genesis
|
// The total number of deposits included in the beacon chain since genesis
|
||||||
// including the deposits in this block.
|
// including the deposits in this block.
|
||||||
uint64 deposit_count = 2;
|
uint64 deposit_count = 2;
|
||||||
|
|
||||||
// The 32 byte block hash of the Ethereum 1.x block considered for deposit
|
// The 32 byte block hash of the Ethereum 1.x block considered for deposit
|
||||||
// inclusion.
|
// inclusion.
|
||||||
bytes block_hash = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_hash = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// A beacon block header is essentially a beacon block with only a reference to
|
// A beacon block header is essentially a beacon block with only a reference to
|
||||||
@@ -167,45 +185,54 @@ message Eth1Data {
|
|||||||
// lightweight than a full beacon block. The message does not contain
|
// lightweight than a full beacon block. The message does not contain
|
||||||
// a validator signature.
|
// a validator signature.
|
||||||
message BeaconBlockHeader {
|
message BeaconBlockHeader {
|
||||||
// Beacon chain slot that this block represents.
|
// Beacon chain slot that this block represents.
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
|
|
||||||
// Validator index of the validator that proposed the block header.
|
// Validator index of the validator that proposed the block header.
|
||||||
uint64 proposer_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 proposer_index = 2 [ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/"
|
||||||
|
"consensus-types/primitives.ValidatorIndex" ];
|
||||||
|
|
||||||
// 32 byte merkle tree root of the parent ssz encoded block.
|
// 32 byte merkle tree root of the parent ssz encoded block.
|
||||||
bytes parent_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes parent_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// 32 byte merkle tree root of the resulting ssz encoded state after processing this block.
|
// 32 byte merkle tree root of the resulting ssz encoded state after
|
||||||
bytes state_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
// processing this block.
|
||||||
|
bytes state_root = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// 32 byte merkle tree root of the ssz encoded block body.
|
// 32 byte merkle tree root of the ssz encoded block body.
|
||||||
bytes body_root = 5 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes body_root = 5 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message SignedBeaconBlockHeader {
|
message SignedBeaconBlockHeader {
|
||||||
// The unsigned beacon block header itself.
|
// The unsigned beacon block header itself.
|
||||||
BeaconBlockHeader message = 1;
|
BeaconBlockHeader message = 1;
|
||||||
|
|
||||||
// 96 byte BLS signature from the validator that produced this block header.
|
// 96 byte BLS signature from the validator that produced this block header.
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message IndexedAttestation {
|
message IndexedAttestation {
|
||||||
repeated uint64 attesting_indices = 1 [(ethereum.eth.ext.ssz_max) = "2048"];
|
repeated uint64 attesting_indices = 1 [ (ethereum.eth.ext.ssz_max) = "2048" ];
|
||||||
|
|
||||||
AttestationData data = 2;
|
AttestationData data = 2;
|
||||||
|
|
||||||
// 96 bytes aggregate signature.
|
// 96 bytes aggregate signature.
|
||||||
bytes signature = 3 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 3 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// The sync aggregate object for the beacon chain to track sync committee votes and to
|
// The sync aggregate object for the beacon chain to track sync committee votes
|
||||||
// support light client infra.
|
// and to support light client infra.
|
||||||
message SyncAggregate {
|
message SyncAggregate {
|
||||||
// Sync committee bits as Bitvector to track votes.
|
// Sync committee bits as Bitvector to track votes.
|
||||||
bytes sync_committee_bits = 1 [(ethereum.eth.ext.ssz_size) = "sync_committee_bytes.size", (ethereum.eth.ext.cast_type) = "sync_committee_bits.type"];
|
bytes sync_committee_bits = 1 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "sync_committee_bytes.size",
|
||||||
|
(ethereum.eth.ext.cast_type) = "sync_committee_bits.type"
|
||||||
|
];
|
||||||
|
|
||||||
// BLS aggregated signature of the sync committee for the ones that voted.
|
// BLS aggregated signature of the sync committee for the ones that voted.
|
||||||
bytes sync_committee_signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes sync_committee_signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|||||||
4
proto/eth/v1/beacon_chain.pb.go
generated
4
proto/eth/v1/beacon_chain.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/eth/v1/beacon_chain.proto
|
// source: proto/eth/v1/beacon_chain.proto
|
||||||
|
|
||||||
package v1
|
package v1
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ option php_namespace = "Ethereum\\Eth\\v1";
|
|||||||
// Beacon State API related messages.
|
// Beacon State API related messages.
|
||||||
|
|
||||||
message StateRequest {
|
message StateRequest {
|
||||||
// The state id which can be any of: "head" (canonical head in node's view),
|
// The state id which can be any of: "head" (canonical head in node's view),
|
||||||
// "genesis", "finalized", "justified", <slot>, <hex encoded stateRoot with 0x prefix>.
|
// "genesis", "finalized", "justified", <slot>, <hex encoded stateRoot with 0x
|
||||||
bytes state_id = 1;
|
// prefix>.
|
||||||
|
bytes state_id = 1;
|
||||||
}
|
}
|
||||||
|
|||||||
4
proto/eth/v1/events.pb.go
generated
4
proto/eth/v1/events.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/eth/v1/events.proto
|
// source: proto/eth/v1/events.proto
|
||||||
|
|
||||||
package v1
|
package v1
|
||||||
|
|||||||
@@ -27,22 +27,25 @@ option php_namespace = "Ethereum\\Eth\\v1";
|
|||||||
|
|
||||||
message EventHead {
|
message EventHead {
|
||||||
// Slot of the new chain head.
|
// Slot of the new chain head.
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
|
|
||||||
// Block root of the new chain head.
|
// Block root of the new chain head.
|
||||||
bytes block = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// State root of the new chain head.
|
// State root of the new chain head.
|
||||||
bytes state = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes state = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// Whether or not the new chain head is at an epoch transition.
|
// Whether or not the new chain head is at an epoch transition.
|
||||||
bool epoch_transition = 4;
|
bool epoch_transition = 4;
|
||||||
|
|
||||||
// The previous dependent root.
|
// The previous dependent root.
|
||||||
bytes previous_duty_dependent_root = 5 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes previous_duty_dependent_root = 5 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// The current dependent root.
|
// The current dependent root.
|
||||||
bytes current_duty_dependent_root = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes current_duty_dependent_root = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// Information about optimistic sync.
|
// Information about optimistic sync.
|
||||||
bool execution_optimistic = 7;
|
bool execution_optimistic = 7;
|
||||||
@@ -50,10 +53,13 @@ message EventHead {
|
|||||||
|
|
||||||
message EventBlock {
|
message EventBlock {
|
||||||
// The slot of the observed block.
|
// The slot of the observed block.
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
|
|
||||||
// The root of the observed block.
|
// The root of the observed block.
|
||||||
bytes block = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// Information about optimistic sync.
|
// Information about optimistic sync.
|
||||||
bool execution_optimistic = 3;
|
bool execution_optimistic = 3;
|
||||||
@@ -61,25 +67,31 @@ message EventBlock {
|
|||||||
|
|
||||||
message EventChainReorg {
|
message EventChainReorg {
|
||||||
// The slot of the observed reorg.
|
// The slot of the observed reorg.
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
|
|
||||||
// Depth of the reorg in slots.
|
// Depth of the reorg in slots.
|
||||||
uint64 depth = 2;
|
uint64 depth = 2;
|
||||||
|
|
||||||
// Block root of the old head.
|
// Block root of the old head.
|
||||||
bytes old_head_block = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes old_head_block = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// Block root of the new head.
|
// Block root of the new head.
|
||||||
bytes new_head_block = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes new_head_block = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// State root of the old state.
|
// State root of the old state.
|
||||||
bytes old_head_state = 5 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes old_head_state = 5 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// State root of the new state.
|
// State root of the new state.
|
||||||
bytes new_head_state = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes new_head_state = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// Epoch of the observed reorg.
|
// Epoch of the observed reorg.
|
||||||
uint64 epoch = 7 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
uint64 epoch = 7 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
|
||||||
// Information about optimistic sync.
|
// Information about optimistic sync.
|
||||||
bool execution_optimistic = 8;
|
bool execution_optimistic = 8;
|
||||||
@@ -87,13 +99,16 @@ message EventChainReorg {
|
|||||||
|
|
||||||
message EventFinalizedCheckpoint {
|
message EventFinalizedCheckpoint {
|
||||||
// Block root of the finalized checkpoint.
|
// Block root of the finalized checkpoint.
|
||||||
bytes block = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// State root of the finalized checkpoint.
|
// State root of the finalized checkpoint.
|
||||||
bytes state = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes state = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// Epoch the checkpoint references.
|
// Epoch the checkpoint references.
|
||||||
uint64 epoch = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
uint64 epoch = 3 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
|
||||||
// Information about optimistic sync.
|
// Information about optimistic sync.
|
||||||
bool execution_optimistic = 4;
|
bool execution_optimistic = 4;
|
||||||
|
|||||||
4
proto/eth/v1/node.pb.go
generated
4
proto/eth/v1/node.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/eth/v1/node.proto
|
// source: proto/eth/v1/node.proto
|
||||||
|
|
||||||
package v1
|
package v1
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ message Peer {
|
|||||||
// The address of the peer, as a full multiaddr, for example:
|
// The address of the peer, as a full multiaddr, for example:
|
||||||
// /ip4/37.221.192.134/tcp/13000/p2p/16Uiu2HAm8maLMjag1TAUM52zPfmLbVMGFdwUAWgoHu1HDQLR6e17
|
// /ip4/37.221.192.134/tcp/13000/p2p/16Uiu2HAm8maLMjag1TAUM52zPfmLbVMGFdwUAWgoHu1HDQLR6e17
|
||||||
string last_seen_p2p_address = 3;
|
string last_seen_p2p_address = 3;
|
||||||
// The connection state of the peer at the moment of the request. (e.g. Connecting)
|
// The connection state of the peer at the moment of the request. (e.g.
|
||||||
|
// Connecting)
|
||||||
ConnectionState state = 4;
|
ConnectionState state = 4;
|
||||||
// The direction of the connection (inbound/outbound).
|
// The direction of the connection (inbound/outbound).
|
||||||
PeerDirection direction = 5;
|
PeerDirection direction = 5;
|
||||||
|
|||||||
4
proto/eth/v1/validator.pb.go
generated
4
proto/eth/v1/validator.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/eth/v1/validator.proto
|
// source: proto/eth/v1/validator.proto
|
||||||
|
|
||||||
package v1
|
package v1
|
||||||
|
|||||||
@@ -29,69 +29,88 @@ option php_namespace = "Ethereum\\Eth\\v1";
|
|||||||
|
|
||||||
// An Ethereum validator.
|
// An Ethereum validator.
|
||||||
message Validator {
|
message Validator {
|
||||||
// 48 byte BLS public key used for the validator's activities.
|
// 48 byte BLS public key used for the validator's activities.
|
||||||
bytes pubkey = 1 [(ethereum.eth.ext.ssz_size) = "48", (ethereum.eth.ext.spec_name) = "pubkey"];
|
bytes pubkey = 1 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "48",
|
||||||
|
(ethereum.eth.ext.spec_name) = "pubkey"
|
||||||
|
];
|
||||||
|
|
||||||
// 32 byte hash of the withdrawal destination public key.
|
// 32 byte hash of the withdrawal destination public key.
|
||||||
bytes withdrawal_credentials = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes withdrawal_credentials = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// The validators current effective balance in gwei.
|
// The validators current effective balance in gwei.
|
||||||
uint64 effective_balance = 3;
|
uint64 effective_balance = 3;
|
||||||
|
|
||||||
// Whether or not the validator has been slashed.
|
// Whether or not the validator has been slashed.
|
||||||
bool slashed = 4;
|
bool slashed = 4;
|
||||||
|
|
||||||
// Epoch when the validator became eligible for activation. This field may
|
// Epoch when the validator became eligible for activation. This field may
|
||||||
// be zero if the validator was present in the Ethereum proof of stake genesis. This
|
// be zero if the validator was present in the Ethereum proof of stake
|
||||||
// field is FAR_FUTURE_EPOCH if the validator has not been activated.
|
// genesis. This field is FAR_FUTURE_EPOCH if the validator has not been
|
||||||
uint64 activation_eligibility_epoch = 5 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
// activated.
|
||||||
|
uint64 activation_eligibility_epoch = 5 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
|
||||||
// Epoch when the validator was activated. This field may be zero if the
|
// Epoch when the validator was activated. This field may be zero if the
|
||||||
// validator was present in the Ethereum proof of stake genesis. This field is
|
// validator was present in the Ethereum proof of stake genesis. This field is
|
||||||
// FAR_FUTURE_EPOCH if the validator has not been activated.
|
// FAR_FUTURE_EPOCH if the validator has not been activated.
|
||||||
uint64 activation_epoch = 6 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
uint64 activation_epoch = 6 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
|
||||||
// Epoch when the validator was exited. This field is FAR_FUTURE_EPOCH if
|
// Epoch when the validator was exited. This field is FAR_FUTURE_EPOCH if
|
||||||
// the validator has not exited.
|
// the validator has not exited.
|
||||||
// FAR_FUTURE_EPOCH is a constant defined by the official Ethereum Beacon Chain specification:
|
// FAR_FUTURE_EPOCH is a constant defined by the official Ethereum Beacon
|
||||||
// https://github.com/ethereum/consensus-specs/blob/v0.9.2/specs/core/0_beacon-chain.md#constants
|
// Chain specification:
|
||||||
uint64 exit_epoch = 7 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
// https://github.com/ethereum/consensus-specs/blob/v0.9.2/specs/core/0_beacon-chain.md#constants
|
||||||
|
uint64 exit_epoch = 7 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
|
||||||
// Epoch when the validator is eligible to withdraw their funds. This field
|
// Epoch when the validator is eligible to withdraw their funds. This field
|
||||||
// is FAR_FUTURE_EPOCH if the validator has not exited.
|
// is FAR_FUTURE_EPOCH if the validator has not exited.
|
||||||
// FAR_FUTURE_EPOCH is a constant defined by the official Ethereum Beacon Chain specification:
|
// FAR_FUTURE_EPOCH is a constant defined by the official Ethereum Beacon
|
||||||
// https://github.com/ethereum/consensus-specs/blob/v0.9.2/specs/core/0_beacon-chain.md#constants
|
// Chain specification:
|
||||||
uint64 withdrawable_epoch = 8 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
// https://github.com/ethereum/consensus-specs/blob/v0.9.2/specs/core/0_beacon-chain.md#constants
|
||||||
|
uint64 withdrawable_epoch = 8 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
enum ValidatorStatus {
|
enum ValidatorStatus {
|
||||||
PENDING_INITIALIZED = 0;
|
PENDING_INITIALIZED = 0;
|
||||||
PENDING_QUEUED = 1;
|
PENDING_QUEUED = 1;
|
||||||
ACTIVE_ONGOING = 2;
|
ACTIVE_ONGOING = 2;
|
||||||
ACTIVE_EXITING = 3;
|
ACTIVE_EXITING = 3;
|
||||||
ACTIVE_SLASHED = 4;
|
ACTIVE_SLASHED = 4;
|
||||||
EXITED_UNSLASHED = 5;
|
EXITED_UNSLASHED = 5;
|
||||||
EXITED_SLASHED = 6;
|
EXITED_SLASHED = 6;
|
||||||
WITHDRAWAL_POSSIBLE = 7;
|
WITHDRAWAL_POSSIBLE = 7;
|
||||||
WITHDRAWAL_DONE = 8;
|
WITHDRAWAL_DONE = 8;
|
||||||
ACTIVE = 9;
|
ACTIVE = 9;
|
||||||
PENDING = 10;
|
PENDING = 10;
|
||||||
EXITED = 11;
|
EXITED = 11;
|
||||||
WITHDRAWAL = 12;
|
WITHDRAWAL = 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ProduceBlockRequest {
|
message ProduceBlockRequest {
|
||||||
// The slot to request a block for.
|
// The slot to request a block for.
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
|
|
||||||
// The validators RANDAO reveal 96 byte value.
|
// The validators RANDAO reveal 96 byte value.
|
||||||
bytes randao_reveal = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes randao_reveal = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
|
|
||||||
// 32 byte field of arbitrary data. This field may contain any data and
|
// 32 byte field of arbitrary data. This field may contain any data and
|
||||||
// is not used for anything other than a fun message.
|
// is not used for anything other than a fun message.
|
||||||
optional bytes graffiti = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
optional bytes graffiti = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message ProduceBlockResponse {
|
message ProduceBlockResponse { BeaconBlock data = 1; }
|
||||||
BeaconBlock data = 1;
|
|
||||||
}
|
|
||||||
4
proto/prysm/v1alpha1/attestation.pb.go
generated
4
proto/prysm/v1alpha1/attestation.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/attestation.proto
|
// source: proto/prysm/v1alpha1/attestation.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -29,64 +29,82 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
message SignedAggregateAttestationAndProof {
|
message SignedAggregateAttestationAndProof {
|
||||||
// The aggregated attestation and selection proof itself.
|
// The aggregated attestation and selection proof itself.
|
||||||
AggregateAttestationAndProof message = 1;
|
AggregateAttestationAndProof message = 1;
|
||||||
|
|
||||||
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message AggregateAttestationAndProof {
|
message AggregateAttestationAndProof {
|
||||||
// The aggregator index that submitted this aggregated attestation and proof.
|
// The aggregator index that submitted this aggregated attestation and proof.
|
||||||
uint64 aggregator_index = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 aggregator_index = 1
|
||||||
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.ValidatorIndex" ];
|
||||||
|
|
||||||
// The aggregated attestation that was submitted.
|
// The aggregated attestation that was submitted.
|
||||||
Attestation aggregate = 3;
|
Attestation aggregate = 3;
|
||||||
|
|
||||||
// 96 byte selection proof signed by the aggregator, which is the signature of the slot to aggregate.
|
// 96 byte selection proof signed by the aggregator, which is the signature of
|
||||||
bytes selection_proof = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
// the slot to aggregate.
|
||||||
|
bytes selection_proof = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message Attestation {
|
message Attestation {
|
||||||
// A bitfield representation of validator indices that have voted exactly
|
// A bitfield representation of validator indices that have voted exactly
|
||||||
// the same vote and have been aggregated into this attestation.
|
// the same vote and have been aggregated into this attestation.
|
||||||
bytes aggregation_bits = 1 [(ethereum.eth.ext.ssz_max) = "2048", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitlist"];
|
bytes aggregation_bits = 1 [
|
||||||
|
(ethereum.eth.ext.ssz_max) = "2048",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitlist"
|
||||||
|
];
|
||||||
|
|
||||||
AttestationData data = 2;
|
AttestationData data = 2;
|
||||||
|
|
||||||
// 96 byte BLS aggregate signature.
|
// 96 byte BLS aggregate signature.
|
||||||
bytes signature = 3 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 3 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message AttestationData {
|
message AttestationData {
|
||||||
// Attestation data includes information on Casper the Friendly Finality Gadget's votes
|
// Attestation data includes information on Casper the Friendly Finality
|
||||||
// See: https://arxiv.org/pdf/1710.09437.pdf
|
// Gadget's votes See: https://arxiv.org/pdf/1710.09437.pdf
|
||||||
|
|
||||||
// Slot of the attestation attesting for.
|
// Slot of the attestation attesting for.
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
|
|
||||||
// The committee index that submitted this attestation.
|
// The committee index that submitted this attestation.
|
||||||
uint64 committee_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.CommitteeIndex"];
|
uint64 committee_index = 2
|
||||||
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.CommitteeIndex" ];
|
||||||
|
|
||||||
// 32 byte root of the LMD GHOST block vote.
|
// 32 byte root of the LMD GHOST block vote.
|
||||||
bytes beacon_block_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes beacon_block_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// The most recent justified checkpoint in the beacon state
|
// The most recent justified checkpoint in the beacon state
|
||||||
Checkpoint source = 4;
|
Checkpoint source = 4;
|
||||||
|
|
||||||
// The checkpoint attempting to be justified for the current epoch and its epoch boundary block
|
// The checkpoint attempting to be justified for the current epoch and its
|
||||||
Checkpoint target = 5;
|
// epoch boundary block
|
||||||
|
Checkpoint target = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Checkpoint {
|
message Checkpoint {
|
||||||
// A checkpoint is every epoch's first slot. The goal of Casper FFG
|
// A checkpoint is every epoch's first slot. The goal of Casper FFG
|
||||||
// is to link the check points together for justification and finalization.
|
// is to link the check points together for justification and finalization.
|
||||||
|
|
||||||
// Epoch the checkpoint references.
|
// Epoch the checkpoint references.
|
||||||
uint64 epoch = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
uint64 epoch = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
|
||||||
// Block root of the checkpoint references.
|
// Block root of the checkpoint references.
|
||||||
bytes root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes root = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -94,60 +112,79 @@ message Checkpoint {
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
message SignedAggregateAttestationAndProofElectra {
|
message SignedAggregateAttestationAndProofElectra {
|
||||||
// The aggregated attestation and selection proof itself.
|
// The aggregated attestation and selection proof itself.
|
||||||
AggregateAttestationAndProofElectra message = 1;
|
AggregateAttestationAndProofElectra message = 1;
|
||||||
|
|
||||||
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message AggregateAttestationAndProofElectra {
|
message AggregateAttestationAndProofElectra {
|
||||||
// The aggregator index that submitted this aggregated attestation and proof.
|
// The aggregator index that submitted this aggregated attestation and proof.
|
||||||
uint64 aggregator_index = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 aggregator_index = 1
|
||||||
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.ValidatorIndex" ];
|
||||||
|
|
||||||
// The aggregated attestation that was submitted.
|
// The aggregated attestation that was submitted.
|
||||||
AttestationElectra aggregate = 3;
|
AttestationElectra aggregate = 3;
|
||||||
|
|
||||||
// 96 byte selection proof signed by the aggregator, which is the signature of the slot to aggregate.
|
// 96 byte selection proof signed by the aggregator, which is the signature of
|
||||||
bytes selection_proof = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
// the slot to aggregate.
|
||||||
|
bytes selection_proof = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message AttestationElectra {
|
message AttestationElectra {
|
||||||
// A bitfield representation of validator indices that have voted exactly
|
// A bitfield representation of validator indices that have voted exactly
|
||||||
// the same vote and have been aggregated into this attestation.
|
// the same vote and have been aggregated into this attestation.
|
||||||
bytes aggregation_bits = 1 [(ethereum.eth.ext.ssz_max) = "max_attesting_indices.size", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitlist"];
|
bytes aggregation_bits = 1 [
|
||||||
|
(ethereum.eth.ext.ssz_max) = "max_attesting_indices.size",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitlist"
|
||||||
|
];
|
||||||
|
|
||||||
AttestationData data = 2;
|
AttestationData data = 2;
|
||||||
|
|
||||||
// 96 byte BLS aggregate signature.
|
// 96 byte BLS aggregate signature.
|
||||||
bytes signature = 3 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 3 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
|
|
||||||
// Represents the committee which aggregated attestation belong.
|
// Represents the committee which aggregated attestation belong.
|
||||||
bytes committee_bits = 4 [(ethereum.eth.ext.ssz_size) = "committee_bits.size", (ethereum.eth.ext.cast_type) = "committee_bits.type"];
|
bytes committee_bits = 4 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "committee_bits.size",
|
||||||
|
(ethereum.eth.ext.cast_type) = "committee_bits.type"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message SignedAggregateAttestationAndProofSingle {
|
message SignedAggregateAttestationAndProofSingle {
|
||||||
// The aggregated attestation and selection proof itself.
|
// The aggregated attestation and selection proof itself.
|
||||||
AggregateAttestationAndProofSingle message = 1;
|
AggregateAttestationAndProofSingle message = 1;
|
||||||
|
|
||||||
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message AggregateAttestationAndProofSingle {
|
message AggregateAttestationAndProofSingle {
|
||||||
// The aggregator index that submitted this aggregated attestation and proof.
|
// The aggregator index that submitted this aggregated attestation and proof.
|
||||||
uint64 aggregator_index = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 aggregator_index = 1
|
||||||
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.ValidatorIndex" ];
|
||||||
|
|
||||||
// The aggregated attestation that was submitted.
|
// The aggregated attestation that was submitted.
|
||||||
SingleAttestation aggregate = 3;
|
SingleAttestation aggregate = 3;
|
||||||
|
|
||||||
// 96 byte selection proof signed by the aggregator, which is the signature of the slot to aggregate.
|
// 96 byte selection proof signed by the aggregator, which is the signature of
|
||||||
bytes selection_proof = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
// the slot to aggregate.
|
||||||
|
bytes selection_proof = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message SingleAttestation {
|
message SingleAttestation {
|
||||||
uint64 committee_id = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.CommitteeIndex"];
|
uint64 committee_id = 1 [ (ethereum.eth.ext.cast_type) =
|
||||||
uint64 attester_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
"github.com/prysmaticlabs/prysm/v5/"
|
||||||
AttestationData data = 3;
|
"consensus-types/primitives.CommitteeIndex" ];
|
||||||
bytes signature = 4 [(ethereum.eth.ext.ssz_size) = "96"];
|
uint64 attester_index = 2 [ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/"
|
||||||
|
"consensus-types/primitives.ValidatorIndex" ];
|
||||||
|
AttestationData data = 3;
|
||||||
|
bytes signature = 4 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
4
proto/prysm/v1alpha1/beacon_block.pb.go
generated
4
proto/prysm/v1alpha1/beacon_block.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/beacon_block.proto
|
// source: proto/prysm/v1alpha1/beacon_block.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
4
proto/prysm/v1alpha1/beacon_chain.pb.go
generated
4
proto/prysm/v1alpha1/beacon_chain.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/beacon_chain.proto
|
// source: proto/prysm/v1alpha1/beacon_chain.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
4
proto/prysm/v1alpha1/beacon_state.pb.go
generated
4
proto/prysm/v1alpha1/beacon_state.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/beacon_state.proto
|
// source: proto/prysm/v1alpha1/beacon_state.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -23,63 +23,96 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
|||||||
message BeaconState {
|
message BeaconState {
|
||||||
// Versioning [1001-2000]
|
// Versioning [1001-2000]
|
||||||
uint64 genesis_time = 1001;
|
uint64 genesis_time = 1001;
|
||||||
bytes genesis_validators_root = 1002 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes genesis_validators_root = 1002 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 slot = 1003 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1003 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
Fork fork = 1004;
|
Fork fork = 1004;
|
||||||
|
|
||||||
// History [2001-3000]
|
// History [2001-3000]
|
||||||
BeaconBlockHeader latest_block_header = 2001;
|
BeaconBlockHeader latest_block_header = 2001;
|
||||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
repeated bytes block_roots = 2002
|
||||||
repeated bytes state_roots = 2003 [(ethereum.eth.ext.ssz_size) = "state_roots.size"];
|
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||||
repeated bytes historical_roots = 2004 [(ethereum.eth.ext.ssz_size) = "?,32", (ethereum.eth.ext.ssz_max) = "16777216"];
|
repeated bytes state_roots = 2003
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "state_roots.size" ];
|
||||||
|
repeated bytes historical_roots = 2004 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "?,32",
|
||||||
|
(ethereum.eth.ext.ssz_max) = "16777216"
|
||||||
|
];
|
||||||
|
|
||||||
// Eth1 [3001-4000]
|
// Eth1 [3001-4000]
|
||||||
Eth1Data eth1_data = 3001;
|
Eth1Data eth1_data = 3001;
|
||||||
repeated Eth1Data eth1_data_votes = 3002 [(ethereum.eth.ext.ssz_max) = "eth1_data_votes.size"];
|
repeated Eth1Data eth1_data_votes = 3002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "eth1_data_votes.size" ];
|
||||||
uint64 eth1_deposit_index = 3003;
|
uint64 eth1_deposit_index = 3003;
|
||||||
|
|
||||||
// Registry [4001-5000]
|
// Registry [4001-5000]
|
||||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
repeated Validator validators = 4001
|
||||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
repeated uint64 balances = 4002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
|
||||||
// Randomness [5001-6000]
|
// Randomness [5001-6000]
|
||||||
repeated bytes randao_mixes = 5001 [(ethereum.eth.ext.ssz_size) = "randao_mixes.size"];
|
repeated bytes randao_mixes = 5001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "randao_mixes.size" ];
|
||||||
|
|
||||||
// Slashings [6001-7000]
|
// Slashings [6001-7000]
|
||||||
repeated uint64 slashings = 6001 [(ethereum.eth.ext.ssz_size) = "slashings.size"];
|
repeated uint64 slashings = 6001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "slashings.size" ];
|
||||||
|
|
||||||
// Attestations [7001-8000]
|
// Attestations [7001-8000]
|
||||||
repeated PendingAttestation previous_epoch_attestations = 7001 [(ethereum.eth.ext.ssz_max) = "previous_epoch_attestations.max"];
|
repeated PendingAttestation previous_epoch_attestations = 7001
|
||||||
repeated PendingAttestation current_epoch_attestations = 7002 [(ethereum.eth.ext.ssz_max) = "current_epoch_attestations.max"];
|
[ (ethereum.eth.ext.ssz_max) = "previous_epoch_attestations.max" ];
|
||||||
|
repeated PendingAttestation current_epoch_attestations = 7002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "current_epoch_attestations.max" ];
|
||||||
|
|
||||||
// Finality [8001-9000]
|
// Finality [8001-9000]
|
||||||
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
||||||
bytes justification_bits = 8001 [(ethereum.eth.ext.ssz_size) = "1", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector4"];
|
bytes justification_bits = 8001 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "1",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitvector4"
|
||||||
|
];
|
||||||
Checkpoint previous_justified_checkpoint = 8002;
|
Checkpoint previous_justified_checkpoint = 8002;
|
||||||
Checkpoint current_justified_checkpoint = 8003;
|
Checkpoint current_justified_checkpoint = 8003;
|
||||||
Checkpoint finalized_checkpoint = 8004;
|
Checkpoint finalized_checkpoint = 8004;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Fork {
|
message Fork {
|
||||||
bytes previous_version = 1 [(ethereum.eth.ext.ssz_size) = "4"];
|
bytes previous_version = 1 [ (ethereum.eth.ext.ssz_size) = "4" ];
|
||||||
bytes current_version = 2 [(ethereum.eth.ext.ssz_size) = "4"];
|
bytes current_version = 2 [ (ethereum.eth.ext.ssz_size) = "4" ];
|
||||||
uint64 epoch = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
uint64 epoch = 3 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message PendingAttestation {
|
message PendingAttestation {
|
||||||
// Bitfield representation of validator indices that have voted exactly
|
// Bitfield representation of validator indices that have voted exactly
|
||||||
// the same vote and have been aggregated into this attestation.
|
// the same vote and have been aggregated into this attestation.
|
||||||
bytes aggregation_bits = 1 [(ethereum.eth.ext.ssz_max) = "2048", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitlist"];
|
bytes aggregation_bits = 1 [
|
||||||
|
(ethereum.eth.ext.ssz_max) = "2048",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitlist"
|
||||||
|
];
|
||||||
AttestationData data = 2;
|
AttestationData data = 2;
|
||||||
// The difference of when attestation gets created and get included on chain.
|
// The difference of when attestation gets created and get included on chain.
|
||||||
uint64 inclusion_delay = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 inclusion_delay = 3 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
// The proposer who included the attestation in the block.
|
// The proposer who included the attestation in the block.
|
||||||
uint64 proposer_index = 4 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 proposer_index = 4 [ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/"
|
||||||
|
"consensus-types/primitives.ValidatorIndex" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message HistoricalBatch {
|
message HistoricalBatch {
|
||||||
repeated bytes block_roots = 1 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
repeated bytes block_roots = 1
|
||||||
repeated bytes state_roots = 2 [(ethereum.eth.ext.ssz_size) = "state_roots.size"];
|
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||||
|
repeated bytes state_roots = 2
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "state_roots.size" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// The state summary object is defined for summarizing a state
|
// The state summary object is defined for summarizing a state
|
||||||
@@ -88,29 +121,34 @@ message HistoricalBatch {
|
|||||||
// and blocks.
|
// and blocks.
|
||||||
message StateSummary {
|
message StateSummary {
|
||||||
// The slot of the state.
|
// The slot of the state.
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
// The block root of the state.
|
// The block root of the state.
|
||||||
bytes root = 2;
|
bytes root = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message SigningData {
|
message SigningData {
|
||||||
// The root of the object being signed.
|
// The root of the object being signed.
|
||||||
bytes object_root = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes object_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
// The domain for the particular object being signed.
|
// The domain for the particular object being signed.
|
||||||
bytes domain = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes domain = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message ForkData {
|
message ForkData {
|
||||||
// The current version of the fork.
|
// The current version of the fork.
|
||||||
bytes current_version = 4 [(ethereum.eth.ext.ssz_size) = "4"];
|
bytes current_version = 4 [ (ethereum.eth.ext.ssz_size) = "4" ];
|
||||||
// The genesis validators root of the fork.
|
// The genesis validators root of the fork.
|
||||||
bytes genesis_validators_root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes genesis_validators_root = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message CheckPtInfo {
|
message CheckPtInfo {
|
||||||
// The randao seed which the check point refers to, this will be used to retrieve shuffled indices.
|
// The randao seed which the check point refers to, this will be used to
|
||||||
|
// retrieve shuffled indices.
|
||||||
bytes seed = 1;
|
bytes seed = 1;
|
||||||
// The genesis root which the check point refers to. This ensures same seed can't happen on different chain.
|
// The genesis root which the check point refers to. This ensures same seed
|
||||||
|
// can't happen on different chain.
|
||||||
bytes genesis_root = 2;
|
bytes genesis_root = 2;
|
||||||
// Validators that were active at that check point.
|
// Validators that were active at that check point.
|
||||||
repeated uint64 active_indices = 3;
|
repeated uint64 active_indices = 3;
|
||||||
@@ -120,28 +158,31 @@ message CheckPtInfo {
|
|||||||
Fork fork = 5;
|
Fork fork = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
// DepositMessage serves as a subset of deposit data in order to derive the signing root.
|
// DepositMessage serves as a subset of deposit data in order to derive the
|
||||||
|
// signing root.
|
||||||
message DepositMessage {
|
message DepositMessage {
|
||||||
// 48 byte BLS public key of the validator.
|
// 48 byte BLS public key of the validator.
|
||||||
bytes public_key = 1 [(ethereum.eth.ext.ssz_size) = "48", (ethereum.eth.ext.spec_name) = "pubkey"];
|
bytes public_key = 1 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "48",
|
||||||
|
(ethereum.eth.ext.spec_name) = "pubkey"
|
||||||
|
];
|
||||||
|
|
||||||
// A 32 byte hash of the withdrawal address public key.
|
// A 32 byte hash of the withdrawal address public key.
|
||||||
bytes withdrawal_credentials = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes withdrawal_credentials = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// Deposit amount in gwei.
|
// Deposit amount in gwei.
|
||||||
uint64 amount = 3;
|
uint64 amount = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// PowBlock is a definition from Bellatrix fork choice spec to represent a block with total difficulty in the PoW chain.
|
// PowBlock is a definition from Bellatrix fork choice spec to represent a block
|
||||||
// Spec:
|
// with total difficulty in the PoW chain. Spec: class PowBlock(Container):
|
||||||
// class PowBlock(Container):
|
|
||||||
// block_hash: Hash32
|
// block_hash: Hash32
|
||||||
// parent_hash: Hash32
|
// parent_hash: Hash32
|
||||||
// total_difficulty: uint256
|
// total_difficulty: uint256
|
||||||
message PowBlock {
|
message PowBlock {
|
||||||
bytes block_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_hash = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes parent_hash = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes parent_hash = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes total_difficulty = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes total_difficulty = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -149,62 +190,91 @@ message PowBlock {
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
// The beacon state for Altair hard fork 1.
|
// The beacon state for Altair hard fork 1.
|
||||||
// Reference: https://github.com/ethereum/consensus-specs/blob/dev/specs/altair/beacon-chain.md#beaconstate
|
// Reference:
|
||||||
|
// https://github.com/ethereum/consensus-specs/blob/dev/specs/altair/beacon-chain.md#beaconstate
|
||||||
message BeaconStateAltair {
|
message BeaconStateAltair {
|
||||||
// Versioning [1001-2000]
|
// Versioning [1001-2000]
|
||||||
uint64 genesis_time = 1001;
|
uint64 genesis_time = 1001;
|
||||||
bytes genesis_validators_root = 1002 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes genesis_validators_root = 1002 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 slot = 1003 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1003 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
Fork fork = 1004;
|
Fork fork = 1004;
|
||||||
|
|
||||||
// History [2001-3000]
|
// History [2001-3000]
|
||||||
BeaconBlockHeader latest_block_header = 2001;
|
BeaconBlockHeader latest_block_header = 2001;
|
||||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
repeated bytes block_roots = 2002
|
||||||
repeated bytes state_roots = 2003 [(ethereum.eth.ext.ssz_size) = "state_roots.size"];
|
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||||
repeated bytes historical_roots = 2004 [(ethereum.eth.ext.ssz_size) = "?,32", (ethereum.eth.ext.ssz_max) = "16777216"];
|
repeated bytes state_roots = 2003
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "state_roots.size" ];
|
||||||
|
repeated bytes historical_roots = 2004 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "?,32",
|
||||||
|
(ethereum.eth.ext.ssz_max) = "16777216"
|
||||||
|
];
|
||||||
|
|
||||||
// Eth1 [3001-4000]
|
// Eth1 [3001-4000]
|
||||||
Eth1Data eth1_data = 3001;
|
Eth1Data eth1_data = 3001;
|
||||||
repeated Eth1Data eth1_data_votes = 3002 [(ethereum.eth.ext.ssz_max) = "eth1_data_votes.size"];
|
repeated Eth1Data eth1_data_votes = 3002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "eth1_data_votes.size" ];
|
||||||
uint64 eth1_deposit_index = 3003;
|
uint64 eth1_deposit_index = 3003;
|
||||||
|
|
||||||
// Registry [4001-5000]
|
// Registry [4001-5000]
|
||||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
repeated Validator validators = 4001
|
||||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
repeated uint64 balances = 4002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
|
||||||
// Randomness [5001-6000]
|
// Randomness [5001-6000]
|
||||||
repeated bytes randao_mixes = 5001 [(ethereum.eth.ext.ssz_size) = "randao_mixes.size"];
|
repeated bytes randao_mixes = 5001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "randao_mixes.size" ];
|
||||||
|
|
||||||
// Slashings [6001-7000]
|
// Slashings [6001-7000]
|
||||||
repeated uint64 slashings = 6001 [(ethereum.eth.ext.ssz_size) = "slashings.size"];
|
repeated uint64 slashings = 6001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "slashings.size" ];
|
||||||
|
|
||||||
// Participation [7001-8000]
|
// Participation [7001-8000]
|
||||||
bytes previous_epoch_participation = 7001 [(ethereum.eth.ext.ssz_max) = "1099511627776"]; // [New in Altair, replaced previous_epoch_attestations]
|
bytes previous_epoch_participation = 7001 [
|
||||||
bytes current_epoch_participation = 7002 [(ethereum.eth.ext.ssz_max) = "1099511627776"]; // [New in Altair, replaced current_epoch_attestations]
|
(ethereum.eth.ext.ssz_max) = "1099511627776"
|
||||||
|
]; // [New in Altair, replaced previous_epoch_attestations]
|
||||||
|
bytes current_epoch_participation = 7002 [
|
||||||
|
(ethereum.eth.ext.ssz_max) = "1099511627776"
|
||||||
|
]; // [New in Altair, replaced current_epoch_attestations]
|
||||||
|
|
||||||
// Finality [8001-9000]
|
// Finality [8001-9000]
|
||||||
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
||||||
bytes justification_bits = 8001 [(ethereum.eth.ext.ssz_size) = "1", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector4"];
|
bytes justification_bits = 8001 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "1",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitvector4"
|
||||||
|
];
|
||||||
Checkpoint previous_justified_checkpoint = 8002;
|
Checkpoint previous_justified_checkpoint = 8002;
|
||||||
Checkpoint current_justified_checkpoint = 8003;
|
Checkpoint current_justified_checkpoint = 8003;
|
||||||
Checkpoint finalized_checkpoint = 8004;
|
Checkpoint finalized_checkpoint = 8004;
|
||||||
|
|
||||||
// New Altair fields [9001-10000]
|
// New Altair fields [9001-10000]
|
||||||
repeated uint64 inactivity_scores = 9001 [(ethereum.eth.ext.ssz_max) = "1099511627776"]; // [New in Altair]
|
repeated uint64 inactivity_scores = 9001
|
||||||
SyncCommittee current_sync_committee = 9002; // [New in Altair]
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ]; // [New in Altair]
|
||||||
SyncCommittee next_sync_committee = 9003; // [New in Altair]
|
SyncCommittee current_sync_committee = 9002; // [New in Altair]
|
||||||
|
SyncCommittee next_sync_committee = 9003; // [New in Altair]
|
||||||
}
|
}
|
||||||
|
|
||||||
// SyncCommittee serves as committees to facilitate light client syncing to beacon chain.
|
// SyncCommittee serves as committees to facilitate light client syncing to
|
||||||
|
// beacon chain.
|
||||||
message SyncCommittee {
|
message SyncCommittee {
|
||||||
repeated bytes pubkeys = 1 [(ethereum.eth.ext.ssz_size) = "sync_committee_bits.size,48"];
|
repeated bytes pubkeys = 1
|
||||||
bytes aggregate_pubkey = 2 [(ethereum.eth.ext.ssz_size) = "48"];
|
[ (ethereum.eth.ext.ssz_size) = "sync_committee_bits.size,48" ];
|
||||||
|
bytes aggregate_pubkey = 2 [ (ethereum.eth.ext.ssz_size) = "48" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// SyncAggregatorSelectionData is used to sign over and then check whether the aggregator is selected within a subcommittee.
|
// SyncAggregatorSelectionData is used to sign over and then check whether the
|
||||||
|
// aggregator is selected within a subcommittee.
|
||||||
message SyncAggregatorSelectionData {
|
message SyncAggregatorSelectionData {
|
||||||
// Slot of this signing data.
|
// Slot of this signing data.
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
// Subcommittee index of this signing data.
|
// Subcommittee index of this signing data.
|
||||||
uint64 subcommittee_index = 2;
|
uint64 subcommittee_index = 2;
|
||||||
}
|
}
|
||||||
@@ -216,49 +286,70 @@ message SyncAggregatorSelectionData {
|
|||||||
message BeaconStateBellatrix {
|
message BeaconStateBellatrix {
|
||||||
// Versioning [1001-2000]
|
// Versioning [1001-2000]
|
||||||
uint64 genesis_time = 1001;
|
uint64 genesis_time = 1001;
|
||||||
bytes genesis_validators_root = 1002 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes genesis_validators_root = 1002 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 slot = 1003 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1003 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
Fork fork = 1004;
|
Fork fork = 1004;
|
||||||
|
|
||||||
// History [2001-3000]
|
// History [2001-3000]
|
||||||
BeaconBlockHeader latest_block_header = 2001;
|
BeaconBlockHeader latest_block_header = 2001;
|
||||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
repeated bytes block_roots = 2002
|
||||||
repeated bytes state_roots = 2003 [(ethereum.eth.ext.ssz_size) = "state_roots.size"];
|
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||||
repeated bytes historical_roots = 2004 [(ethereum.eth.ext.ssz_size) = "?,32", (ethereum.eth.ext.ssz_max) = "16777216"];
|
repeated bytes state_roots = 2003
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "state_roots.size" ];
|
||||||
|
repeated bytes historical_roots = 2004 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "?,32",
|
||||||
|
(ethereum.eth.ext.ssz_max) = "16777216"
|
||||||
|
];
|
||||||
|
|
||||||
// Eth1 [3001-4000]
|
// Eth1 [3001-4000]
|
||||||
Eth1Data eth1_data = 3001;
|
Eth1Data eth1_data = 3001;
|
||||||
repeated Eth1Data eth1_data_votes = 3002 [(ethereum.eth.ext.ssz_max) = "eth1_data_votes.size"];
|
repeated Eth1Data eth1_data_votes = 3002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "eth1_data_votes.size" ];
|
||||||
uint64 eth1_deposit_index = 3003;
|
uint64 eth1_deposit_index = 3003;
|
||||||
|
|
||||||
// Registry [4001-5000]
|
// Registry [4001-5000]
|
||||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
repeated Validator validators = 4001
|
||||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
repeated uint64 balances = 4002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
|
||||||
// Randomness [5001-6000]
|
// Randomness [5001-6000]
|
||||||
repeated bytes randao_mixes = 5001 [(ethereum.eth.ext.ssz_size) = "randao_mixes.size"];
|
repeated bytes randao_mixes = 5001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "randao_mixes.size" ];
|
||||||
|
|
||||||
// Slashings [6001-7000]
|
// Slashings [6001-7000]
|
||||||
repeated uint64 slashings = 6001 [(ethereum.eth.ext.ssz_size) = "slashings.size"];
|
repeated uint64 slashings = 6001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "slashings.size" ];
|
||||||
|
|
||||||
// Participation [7001-8000]
|
// Participation [7001-8000]
|
||||||
bytes previous_epoch_participation = 7001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
bytes previous_epoch_participation = 7001
|
||||||
bytes current_epoch_participation = 7002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
bytes current_epoch_participation = 7002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
|
||||||
// Finality [8001-9000]
|
// Finality [8001-9000]
|
||||||
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
||||||
bytes justification_bits = 8001 [(ethereum.eth.ext.ssz_size) = "1", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector4"];
|
bytes justification_bits = 8001 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "1",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitvector4"
|
||||||
|
];
|
||||||
Checkpoint previous_justified_checkpoint = 8002;
|
Checkpoint previous_justified_checkpoint = 8002;
|
||||||
Checkpoint current_justified_checkpoint = 8003;
|
Checkpoint current_justified_checkpoint = 8003;
|
||||||
Checkpoint finalized_checkpoint = 8004;
|
Checkpoint finalized_checkpoint = 8004;
|
||||||
|
|
||||||
// Altair fields [9001-10000]
|
// Altair fields [9001-10000]
|
||||||
repeated uint64 inactivity_scores = 9001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
repeated uint64 inactivity_scores = 9001
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
SyncCommittee current_sync_committee = 9002;
|
SyncCommittee current_sync_committee = 9002;
|
||||||
SyncCommittee next_sync_committee = 9003;
|
SyncCommittee next_sync_committee = 9003;
|
||||||
|
|
||||||
// Bellatrix fields [10001-11000]
|
// Bellatrix fields [10001-11000]
|
||||||
ethereum.engine.v1.ExecutionPayloadHeader latest_execution_payload_header = 10001; // [New in Bellatrix]
|
ethereum.engine.v1.ExecutionPayloadHeader latest_execution_payload_header =
|
||||||
|
10001; // [New in Bellatrix]
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -268,60 +359,86 @@ message BeaconStateBellatrix {
|
|||||||
message BeaconStateCapella {
|
message BeaconStateCapella {
|
||||||
// Versioning [1001-2000]
|
// Versioning [1001-2000]
|
||||||
uint64 genesis_time = 1001;
|
uint64 genesis_time = 1001;
|
||||||
bytes genesis_validators_root = 1002 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes genesis_validators_root = 1002 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 slot = 1003 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1003 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
Fork fork = 1004;
|
Fork fork = 1004;
|
||||||
|
|
||||||
// History [2001-3000]
|
// History [2001-3000]
|
||||||
BeaconBlockHeader latest_block_header = 2001;
|
BeaconBlockHeader latest_block_header = 2001;
|
||||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
repeated bytes block_roots = 2002
|
||||||
repeated bytes state_roots = 2003 [(ethereum.eth.ext.ssz_size) = "state_roots.size"];
|
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||||
repeated bytes historical_roots = 2004 [(ethereum.eth.ext.ssz_size) = "?,32", (ethereum.eth.ext.ssz_max) = "16777216"];
|
repeated bytes state_roots = 2003
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "state_roots.size" ];
|
||||||
|
repeated bytes historical_roots = 2004 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "?,32",
|
||||||
|
(ethereum.eth.ext.ssz_max) = "16777216"
|
||||||
|
];
|
||||||
|
|
||||||
// Eth1 [3001-4000]
|
// Eth1 [3001-4000]
|
||||||
Eth1Data eth1_data = 3001;
|
Eth1Data eth1_data = 3001;
|
||||||
repeated Eth1Data eth1_data_votes = 3002 [(ethereum.eth.ext.ssz_max) = "eth1_data_votes.size"];
|
repeated Eth1Data eth1_data_votes = 3002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "eth1_data_votes.size" ];
|
||||||
uint64 eth1_deposit_index = 3003;
|
uint64 eth1_deposit_index = 3003;
|
||||||
|
|
||||||
// Registry [4001-5000]
|
// Registry [4001-5000]
|
||||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
repeated Validator validators = 4001
|
||||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
repeated uint64 balances = 4002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
|
||||||
// Randomness [5001-6000]
|
// Randomness [5001-6000]
|
||||||
repeated bytes randao_mixes = 5001 [(ethereum.eth.ext.ssz_size) = "randao_mixes.size"];
|
repeated bytes randao_mixes = 5001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "randao_mixes.size" ];
|
||||||
|
|
||||||
// Slashings [6001-7000]
|
// Slashings [6001-7000]
|
||||||
repeated uint64 slashings = 6001 [(ethereum.eth.ext.ssz_size) = "slashings.size"];
|
repeated uint64 slashings = 6001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "slashings.size" ];
|
||||||
|
|
||||||
// Participation [7001-8000]
|
// Participation [7001-8000]
|
||||||
bytes previous_epoch_participation = 7001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
bytes previous_epoch_participation = 7001
|
||||||
bytes current_epoch_participation = 7002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
bytes current_epoch_participation = 7002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
|
||||||
// Finality [8001-9000]
|
// Finality [8001-9000]
|
||||||
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
||||||
bytes justification_bits = 8001 [(ethereum.eth.ext.ssz_size) = "1", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector4"];
|
bytes justification_bits = 8001 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "1",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitvector4"
|
||||||
|
];
|
||||||
Checkpoint previous_justified_checkpoint = 8002;
|
Checkpoint previous_justified_checkpoint = 8002;
|
||||||
Checkpoint current_justified_checkpoint = 8003;
|
Checkpoint current_justified_checkpoint = 8003;
|
||||||
Checkpoint finalized_checkpoint = 8004;
|
Checkpoint finalized_checkpoint = 8004;
|
||||||
|
|
||||||
// Altair fields [9001-10000]
|
// Altair fields [9001-10000]
|
||||||
repeated uint64 inactivity_scores = 9001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
repeated uint64 inactivity_scores = 9001
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
SyncCommittee current_sync_committee = 9002;
|
SyncCommittee current_sync_committee = 9002;
|
||||||
SyncCommittee next_sync_committee = 9003;
|
SyncCommittee next_sync_committee = 9003;
|
||||||
|
|
||||||
// Bellatrix fields [10001-11000]
|
// Bellatrix fields [10001-11000]
|
||||||
ethereum.engine.v1.ExecutionPayloadHeaderCapella latest_execution_payload_header = 10001;
|
ethereum.engine.v1.ExecutionPayloadHeaderCapella
|
||||||
|
latest_execution_payload_header = 10001;
|
||||||
|
|
||||||
// Capella fields [11001-12000]
|
// Capella fields [11001-12000]
|
||||||
uint64 next_withdrawal_index = 11001; // [New in Capella]
|
uint64 next_withdrawal_index = 11001; // [New in Capella]
|
||||||
uint64 next_withdrawal_validator_index = 11002 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"]; // [New in Capella]
|
uint64 next_withdrawal_validator_index = 11002
|
||||||
repeated HistoricalSummary historical_summaries = 11003 [(ethereum.eth.ext.ssz_max) = "16777216"]; // [New in Capella]
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.ValidatorIndex" ]; // [New in Capella]
|
||||||
|
repeated HistoricalSummary historical_summaries = 11003
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "16777216" ]; // [New in Capella]
|
||||||
}
|
}
|
||||||
|
|
||||||
// HistoricalSummary matches the components of the phase0 `HistoricalBatch` making the two hash_tree_root-compatible.
|
// HistoricalSummary matches the components of the phase0 `HistoricalBatch`
|
||||||
|
// making the two hash_tree_root-compatible.
|
||||||
message HistoricalSummary {
|
message HistoricalSummary {
|
||||||
bytes block_summary_root = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_summary_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes state_summary_root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes state_summary_root = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -331,54 +448,79 @@ message HistoricalSummary {
|
|||||||
message BeaconStateDeneb {
|
message BeaconStateDeneb {
|
||||||
// Versioning [1001-2000]
|
// Versioning [1001-2000]
|
||||||
uint64 genesis_time = 1001;
|
uint64 genesis_time = 1001;
|
||||||
bytes genesis_validators_root = 1002 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes genesis_validators_root = 1002 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 slot = 1003 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1003 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
Fork fork = 1004;
|
Fork fork = 1004;
|
||||||
|
|
||||||
// History [2001-3000]
|
// History [2001-3000]
|
||||||
BeaconBlockHeader latest_block_header = 2001;
|
BeaconBlockHeader latest_block_header = 2001;
|
||||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
repeated bytes block_roots = 2002
|
||||||
repeated bytes state_roots = 2003 [(ethereum.eth.ext.ssz_size) = "state_roots.size"];
|
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||||
repeated bytes historical_roots = 2004 [(ethereum.eth.ext.ssz_size) = "?,32", (ethereum.eth.ext.ssz_max) = "16777216"];
|
repeated bytes state_roots = 2003
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "state_roots.size" ];
|
||||||
|
repeated bytes historical_roots = 2004 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "?,32",
|
||||||
|
(ethereum.eth.ext.ssz_max) = "16777216"
|
||||||
|
];
|
||||||
|
|
||||||
// Eth1 [3001-4000]
|
// Eth1 [3001-4000]
|
||||||
Eth1Data eth1_data = 3001;
|
Eth1Data eth1_data = 3001;
|
||||||
repeated Eth1Data eth1_data_votes = 3002 [(ethereum.eth.ext.ssz_max) = "eth1_data_votes.size"];
|
repeated Eth1Data eth1_data_votes = 3002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "eth1_data_votes.size" ];
|
||||||
uint64 eth1_deposit_index = 3003;
|
uint64 eth1_deposit_index = 3003;
|
||||||
|
|
||||||
// Registry [4001-5000]
|
// Registry [4001-5000]
|
||||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
repeated Validator validators = 4001
|
||||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
repeated uint64 balances = 4002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
|
||||||
// Randomness [5001-6000]
|
// Randomness [5001-6000]
|
||||||
repeated bytes randao_mixes = 5001 [(ethereum.eth.ext.ssz_size) = "randao_mixes.size"];
|
repeated bytes randao_mixes = 5001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "randao_mixes.size" ];
|
||||||
|
|
||||||
// Slashings [6001-7000]
|
// Slashings [6001-7000]
|
||||||
repeated uint64 slashings = 6001 [(ethereum.eth.ext.ssz_size) = "slashings.size"];
|
repeated uint64 slashings = 6001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "slashings.size" ];
|
||||||
|
|
||||||
// Participation [7001-8000]
|
// Participation [7001-8000]
|
||||||
bytes previous_epoch_participation = 7001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
bytes previous_epoch_participation = 7001
|
||||||
bytes current_epoch_participation = 7002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
bytes current_epoch_participation = 7002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
|
||||||
// Finality [8001-9000]
|
// Finality [8001-9000]
|
||||||
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
||||||
bytes justification_bits = 8001 [(ethereum.eth.ext.ssz_size) = "1", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector4"];
|
bytes justification_bits = 8001 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "1",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitvector4"
|
||||||
|
];
|
||||||
Checkpoint previous_justified_checkpoint = 8002;
|
Checkpoint previous_justified_checkpoint = 8002;
|
||||||
Checkpoint current_justified_checkpoint = 8003;
|
Checkpoint current_justified_checkpoint = 8003;
|
||||||
Checkpoint finalized_checkpoint = 8004;
|
Checkpoint finalized_checkpoint = 8004;
|
||||||
|
|
||||||
// Fields introduced in Altair fork [9001-10000]
|
// Fields introduced in Altair fork [9001-10000]
|
||||||
repeated uint64 inactivity_scores = 9001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
repeated uint64 inactivity_scores = 9001
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
SyncCommittee current_sync_committee = 9002;
|
SyncCommittee current_sync_committee = 9002;
|
||||||
SyncCommittee next_sync_committee = 9003;
|
SyncCommittee next_sync_committee = 9003;
|
||||||
|
|
||||||
// Fields introduced in Bellatrix fork [10001-11000]
|
// Fields introduced in Bellatrix fork [10001-11000]
|
||||||
ethereum.engine.v1.ExecutionPayloadHeaderDeneb latest_execution_payload_header = 10001; // [New in Deneb]
|
ethereum.engine.v1.ExecutionPayloadHeaderDeneb
|
||||||
|
latest_execution_payload_header = 10001; // [New in Deneb]
|
||||||
|
|
||||||
// Fields introduced in Capella fork [11001-12000]
|
// Fields introduced in Capella fork [11001-12000]
|
||||||
uint64 next_withdrawal_index = 11001;
|
uint64 next_withdrawal_index = 11001;
|
||||||
uint64 next_withdrawal_validator_index = 11002 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 next_withdrawal_validator_index = 11002
|
||||||
repeated HistoricalSummary historical_summaries = 11003 [(ethereum.eth.ext.ssz_max) = "16777216"];
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.ValidatorIndex" ];
|
||||||
|
repeated HistoricalSummary historical_summaries = 11003
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "16777216" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -388,65 +530,108 @@ message BeaconStateDeneb {
|
|||||||
message BeaconStateElectra {
|
message BeaconStateElectra {
|
||||||
// Versioning [1001-2000]
|
// Versioning [1001-2000]
|
||||||
uint64 genesis_time = 1001;
|
uint64 genesis_time = 1001;
|
||||||
bytes genesis_validators_root = 1002 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes genesis_validators_root = 1002 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 slot = 1003 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1003 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
Fork fork = 1004;
|
Fork fork = 1004;
|
||||||
|
|
||||||
// History [2001-3000]
|
// History [2001-3000]
|
||||||
BeaconBlockHeader latest_block_header = 2001;
|
BeaconBlockHeader latest_block_header = 2001;
|
||||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
repeated bytes block_roots = 2002
|
||||||
repeated bytes state_roots = 2003 [(ethereum.eth.ext.ssz_size) = "state_roots.size"];
|
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||||
repeated bytes historical_roots = 2004 [(ethereum.eth.ext.ssz_size) = "?,32", (ethereum.eth.ext.ssz_max) = "16777216"];
|
repeated bytes state_roots = 2003
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "state_roots.size" ];
|
||||||
|
repeated bytes historical_roots = 2004 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "?,32",
|
||||||
|
(ethereum.eth.ext.ssz_max) = "16777216"
|
||||||
|
];
|
||||||
|
|
||||||
// Eth1 [3001-4000]
|
// Eth1 [3001-4000]
|
||||||
Eth1Data eth1_data = 3001;
|
Eth1Data eth1_data = 3001;
|
||||||
repeated Eth1Data eth1_data_votes = 3002 [(ethereum.eth.ext.ssz_max) = "eth1_data_votes.size"];
|
repeated Eth1Data eth1_data_votes = 3002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "eth1_data_votes.size" ];
|
||||||
uint64 eth1_deposit_index = 3003;
|
uint64 eth1_deposit_index = 3003;
|
||||||
|
|
||||||
// Registry [4001-5000]
|
// Registry [4001-5000]
|
||||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
repeated Validator validators = 4001
|
||||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
repeated uint64 balances = 4002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
|
||||||
// Randomness [5001-6000]
|
// Randomness [5001-6000]
|
||||||
repeated bytes randao_mixes = 5001 [(ethereum.eth.ext.ssz_size) = "randao_mixes.size"];
|
repeated bytes randao_mixes = 5001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "randao_mixes.size" ];
|
||||||
|
|
||||||
// Slashings [6001-7000]
|
// Slashings [6001-7000]
|
||||||
repeated uint64 slashings = 6001 [(ethereum.eth.ext.ssz_size) = "slashings.size"];
|
repeated uint64 slashings = 6001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "slashings.size" ];
|
||||||
|
|
||||||
// Participation [7001-8000]
|
// Participation [7001-8000]
|
||||||
bytes previous_epoch_participation = 7001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
bytes previous_epoch_participation = 7001
|
||||||
bytes current_epoch_participation = 7002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
bytes current_epoch_participation = 7002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
|
||||||
// Finality [8001-9000]
|
// Finality [8001-9000]
|
||||||
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
||||||
bytes justification_bits = 8001 [(ethereum.eth.ext.ssz_size) = "1", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector4"];
|
bytes justification_bits = 8001 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "1",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitvector4"
|
||||||
|
];
|
||||||
Checkpoint previous_justified_checkpoint = 8002;
|
Checkpoint previous_justified_checkpoint = 8002;
|
||||||
Checkpoint current_justified_checkpoint = 8003;
|
Checkpoint current_justified_checkpoint = 8003;
|
||||||
Checkpoint finalized_checkpoint = 8004;
|
Checkpoint finalized_checkpoint = 8004;
|
||||||
|
|
||||||
// Fields introduced in Altair fork [9001-10000]
|
// Fields introduced in Altair fork [9001-10000]
|
||||||
repeated uint64 inactivity_scores = 9001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
repeated uint64 inactivity_scores = 9001
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
SyncCommittee current_sync_committee = 9002;
|
SyncCommittee current_sync_committee = 9002;
|
||||||
SyncCommittee next_sync_committee = 9003;
|
SyncCommittee next_sync_committee = 9003;
|
||||||
|
|
||||||
// Fields introduced in Bellatrix fork [10001-11000]
|
// Fields introduced in Bellatrix fork [10001-11000]
|
||||||
ethereum.engine.v1.ExecutionPayloadHeaderDeneb latest_execution_payload_header = 10001;
|
ethereum.engine.v1.ExecutionPayloadHeaderDeneb
|
||||||
|
latest_execution_payload_header = 10001;
|
||||||
|
|
||||||
// Fields introduced in Capella fork [11001-12000]
|
// Fields introduced in Capella fork [11001-12000]
|
||||||
uint64 next_withdrawal_index = 11001;
|
uint64 next_withdrawal_index = 11001;
|
||||||
uint64 next_withdrawal_validator_index = 11002 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 next_withdrawal_validator_index = 11002
|
||||||
repeated HistoricalSummary historical_summaries = 11003 [(ethereum.eth.ext.ssz_max) = "16777216"];
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.ValidatorIndex" ];
|
||||||
|
repeated HistoricalSummary historical_summaries = 11003
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "16777216" ];
|
||||||
|
|
||||||
// Fields introduced in EIP-7251 fork [12001-13000]
|
// Fields introduced in EIP-7251 fork [12001-13000]
|
||||||
uint64 deposit_requests_start_index = 12001;
|
uint64 deposit_requests_start_index = 12001;
|
||||||
uint64 deposit_balance_to_consume = 12002 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"];
|
uint64 deposit_balance_to_consume = 12002 [
|
||||||
uint64 exit_balance_to_consume = 12003 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"];
|
(ethereum.eth.ext.cast_type) =
|
||||||
uint64 earliest_exit_epoch = 12004 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"
|
||||||
uint64 consolidation_balance_to_consume = 12005 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"];
|
];
|
||||||
uint64 earliest_consolidation_epoch = 12006 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
uint64 exit_balance_to_consume = 12003 [
|
||||||
repeated PendingDeposit pending_deposits = 12007 [(ethereum.eth.ext.ssz_max) = "pending_deposits_limit"];
|
(ethereum.eth.ext.cast_type) =
|
||||||
repeated PendingPartialWithdrawal pending_partial_withdrawals = 12008 [(ethereum.eth.ext.ssz_max) = "pending_partial_withdrawals_limit"];
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"
|
||||||
repeated PendingConsolidation pending_consolidations = 12009 [(ethereum.eth.ext.ssz_max) = "pending_consolidations_limit"];
|
];
|
||||||
|
uint64 earliest_exit_epoch = 12004 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
uint64 consolidation_balance_to_consume = 12005 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"
|
||||||
|
];
|
||||||
|
uint64 earliest_consolidation_epoch = 12006 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
repeated PendingDeposit pending_deposits = 12007
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "pending_deposits_limit" ];
|
||||||
|
repeated PendingPartialWithdrawal pending_partial_withdrawals = 12008
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "pending_partial_withdrawals_limit" ];
|
||||||
|
repeated PendingConsolidation pending_consolidations = 12009
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "pending_consolidations_limit" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -456,63 +641,106 @@ message BeaconStateElectra {
|
|||||||
message BeaconStateFulu {
|
message BeaconStateFulu {
|
||||||
// Versioning [1001-2000]
|
// Versioning [1001-2000]
|
||||||
uint64 genesis_time = 1001;
|
uint64 genesis_time = 1001;
|
||||||
bytes genesis_validators_root = 1002 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes genesis_validators_root = 1002 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 slot = 1003 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1003 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
Fork fork = 1004;
|
Fork fork = 1004;
|
||||||
|
|
||||||
// History [2001-3000]
|
// History [2001-3000]
|
||||||
BeaconBlockHeader latest_block_header = 2001;
|
BeaconBlockHeader latest_block_header = 2001;
|
||||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
repeated bytes block_roots = 2002
|
||||||
repeated bytes state_roots = 2003 [(ethereum.eth.ext.ssz_size) = "state_roots.size"];
|
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||||
repeated bytes historical_roots = 2004 [(ethereum.eth.ext.ssz_size) = "?,32", (ethereum.eth.ext.ssz_max) = "16777216"];
|
repeated bytes state_roots = 2003
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "state_roots.size" ];
|
||||||
|
repeated bytes historical_roots = 2004 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "?,32",
|
||||||
|
(ethereum.eth.ext.ssz_max) = "16777216"
|
||||||
|
];
|
||||||
|
|
||||||
// Eth1 [3001-4000]
|
// Eth1 [3001-4000]
|
||||||
Eth1Data eth1_data = 3001;
|
Eth1Data eth1_data = 3001;
|
||||||
repeated Eth1Data eth1_data_votes = 3002 [(ethereum.eth.ext.ssz_max) = "eth1_data_votes.size"];
|
repeated Eth1Data eth1_data_votes = 3002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "eth1_data_votes.size" ];
|
||||||
uint64 eth1_deposit_index = 3003;
|
uint64 eth1_deposit_index = 3003;
|
||||||
|
|
||||||
// Registry [4001-5000]
|
// Registry [4001-5000]
|
||||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
repeated Validator validators = 4001
|
||||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
repeated uint64 balances = 4002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
|
||||||
// Randomness [5001-6000]
|
// Randomness [5001-6000]
|
||||||
repeated bytes randao_mixes = 5001 [(ethereum.eth.ext.ssz_size) = "randao_mixes.size"];
|
repeated bytes randao_mixes = 5001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "randao_mixes.size" ];
|
||||||
|
|
||||||
// Slashings [6001-7000]
|
// Slashings [6001-7000]
|
||||||
repeated uint64 slashings = 6001 [(ethereum.eth.ext.ssz_size) = "slashings.size"];
|
repeated uint64 slashings = 6001
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "slashings.size" ];
|
||||||
|
|
||||||
// Participation [7001-8000]
|
// Participation [7001-8000]
|
||||||
bytes previous_epoch_participation = 7001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
bytes previous_epoch_participation = 7001
|
||||||
bytes current_epoch_participation = 7002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
bytes current_epoch_participation = 7002
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
|
|
||||||
// Finality [8001-9000]
|
// Finality [8001-9000]
|
||||||
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
// Spec type [4]Bitvector which means this would be a fixed size of 4 bits.
|
||||||
bytes justification_bits = 8001 [(ethereum.eth.ext.ssz_size) = "1", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector4"];
|
bytes justification_bits = 8001 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "1",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitvector4"
|
||||||
|
];
|
||||||
Checkpoint previous_justified_checkpoint = 8002;
|
Checkpoint previous_justified_checkpoint = 8002;
|
||||||
Checkpoint current_justified_checkpoint = 8003;
|
Checkpoint current_justified_checkpoint = 8003;
|
||||||
Checkpoint finalized_checkpoint = 8004;
|
Checkpoint finalized_checkpoint = 8004;
|
||||||
|
|
||||||
// Fields introduced in Altair fork [9001-10000]
|
// Fields introduced in Altair fork [9001-10000]
|
||||||
repeated uint64 inactivity_scores = 9001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
repeated uint64 inactivity_scores = 9001
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||||
SyncCommittee current_sync_committee = 9002;
|
SyncCommittee current_sync_committee = 9002;
|
||||||
SyncCommittee next_sync_committee = 9003;
|
SyncCommittee next_sync_committee = 9003;
|
||||||
|
|
||||||
// Fields introduced in Bellatrix fork [10001-11000]
|
// Fields introduced in Bellatrix fork [10001-11000]
|
||||||
ethereum.engine.v1.ExecutionPayloadHeaderDeneb latest_execution_payload_header = 10001;
|
ethereum.engine.v1.ExecutionPayloadHeaderDeneb
|
||||||
|
latest_execution_payload_header = 10001;
|
||||||
|
|
||||||
// Fields introduced in Capella fork [11001-12000]
|
// Fields introduced in Capella fork [11001-12000]
|
||||||
uint64 next_withdrawal_index = 11001;
|
uint64 next_withdrawal_index = 11001;
|
||||||
uint64 next_withdrawal_validator_index = 11002 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 next_withdrawal_validator_index = 11002
|
||||||
repeated HistoricalSummary historical_summaries = 11003 [(ethereum.eth.ext.ssz_max) = "16777216"];
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.ValidatorIndex" ];
|
||||||
|
repeated HistoricalSummary historical_summaries = 11003
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "16777216" ];
|
||||||
|
|
||||||
// Fields introduced in EIP-7251 fork [12001-13000]
|
// Fields introduced in EIP-7251 fork [12001-13000]
|
||||||
uint64 deposit_requests_start_index = 12001;
|
uint64 deposit_requests_start_index = 12001;
|
||||||
uint64 deposit_balance_to_consume = 12002 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"];
|
uint64 deposit_balance_to_consume = 12002 [
|
||||||
uint64 exit_balance_to_consume = 12003 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"];
|
(ethereum.eth.ext.cast_type) =
|
||||||
uint64 earliest_exit_epoch = 12004 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"
|
||||||
uint64 consolidation_balance_to_consume = 12005 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"];
|
];
|
||||||
uint64 earliest_consolidation_epoch = 12006 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
uint64 exit_balance_to_consume = 12003 [
|
||||||
repeated PendingDeposit pending_deposits = 12007 [(ethereum.eth.ext.ssz_max) = "pending_deposits_limit"];
|
(ethereum.eth.ext.cast_type) =
|
||||||
repeated PendingPartialWithdrawal pending_partial_withdrawals = 12008 [(ethereum.eth.ext.ssz_max) = "pending_partial_withdrawals_limit"];
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"
|
||||||
repeated PendingConsolidation pending_consolidations = 12009 [(ethereum.eth.ext.ssz_max) = "pending_consolidations_limit"];
|
];
|
||||||
|
uint64 earliest_exit_epoch = 12004 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
uint64 consolidation_balance_to_consume = 12005 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"
|
||||||
|
];
|
||||||
|
uint64 earliest_consolidation_epoch = 12006 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
repeated PendingDeposit pending_deposits = 12007
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "pending_deposits_limit" ];
|
||||||
|
repeated PendingPartialWithdrawal pending_partial_withdrawals = 12008
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "pending_partial_withdrawals_limit" ];
|
||||||
|
repeated PendingConsolidation pending_consolidations = 12009
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "pending_consolidations_limit" ];
|
||||||
}
|
}
|
||||||
|
|||||||
4
proto/prysm/v1alpha1/blobs.pb.go
generated
4
proto/prysm/v1alpha1/blobs.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/blobs.proto
|
// source: proto/prysm/v1alpha1/blobs.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -25,26 +25,32 @@ option java_package = "org.ethereum.eth.v1alpha1";
|
|||||||
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||||
|
|
||||||
message BlindedBlobSidecars {
|
message BlindedBlobSidecars {
|
||||||
repeated BlindedBlobSidecar sidecars = 1 [(ethereum.eth.ext.ssz_max) = "max_blobs_per_block.size"];
|
repeated BlindedBlobSidecar sidecars = 1
|
||||||
|
[ (ethereum.eth.ext.ssz_max) = "max_blobs_per_block.size" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message SignedBlindedBlobSidecar {
|
message SignedBlindedBlobSidecar {
|
||||||
BlindedBlobSidecar message = 1;
|
BlindedBlobSidecar message = 1;
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message BlindedBlobSidecar {
|
message BlindedBlobSidecar {
|
||||||
bytes block_root = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 index = 2;
|
uint64 index = 2;
|
||||||
uint64 slot = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 3 [
|
||||||
bytes block_parent_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
(ethereum.eth.ext.cast_type) =
|
||||||
uint64 proposer_index = 5 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
bytes blob_root = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
];
|
||||||
bytes kzg_commitment = 7 [(ethereum.eth.ext.ssz_size) = "48"];
|
bytes block_parent_root = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
bytes kzg_proof = 8 [(ethereum.eth.ext.ssz_size) = "48"];
|
uint64 proposer_index = 5 [ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/"
|
||||||
|
"consensus-types/primitives.ValidatorIndex" ];
|
||||||
|
bytes blob_root = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
bytes kzg_commitment = 7 [ (ethereum.eth.ext.ssz_size) = "48" ];
|
||||||
|
bytes kzg_proof = 8 [ (ethereum.eth.ext.ssz_size) = "48" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message BlobIdentifier {
|
message BlobIdentifier {
|
||||||
bytes block_root = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 index = 2;
|
uint64 index = 2;
|
||||||
}
|
}
|
||||||
4
proto/prysm/v1alpha1/data_columns.pb.go
generated
4
proto/prysm/v1alpha1/data_columns.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/data_columns.proto
|
// source: proto/prysm/v1alpha1/data_columns.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -25,17 +25,27 @@ option java_outer_classname = "DataColumnsProto";
|
|||||||
option java_package = "org.ethereum.eth.v1alpha1";
|
option java_package = "org.ethereum.eth.v1alpha1";
|
||||||
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||||
|
|
||||||
|
|
||||||
message DataColumnSidecar {
|
message DataColumnSidecar {
|
||||||
uint64 column_index = 1;
|
uint64 column_index = 1;
|
||||||
repeated bytes data_column = 2 [(ethereum.eth.ext.ssz_size) = "?,bytes_per_cell.size", (ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"];
|
repeated bytes data_column = 2 [
|
||||||
repeated bytes kzg_commitments = 3 [(ethereum.eth.ext.ssz_size) = "?,48", (ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"];
|
(ethereum.eth.ext.ssz_size) = "?,bytes_per_cell.size",
|
||||||
repeated bytes kzg_proof = 4 [(ethereum.eth.ext.ssz_size) = "?,48", (ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"];
|
(ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"
|
||||||
|
];
|
||||||
|
repeated bytes kzg_commitments = 3 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "?,48",
|
||||||
|
(ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"
|
||||||
|
];
|
||||||
|
repeated bytes kzg_proof = 4 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "?,48",
|
||||||
|
(ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"
|
||||||
|
];
|
||||||
SignedBeaconBlockHeader signed_block_header = 5;
|
SignedBeaconBlockHeader signed_block_header = 5;
|
||||||
repeated bytes kzg_commitments_inclusion_proof = 6 [(ethereum.eth.ext.ssz_size) = "kzg_commitments_inclusion_proof_depth.size,32"];
|
repeated bytes kzg_commitments_inclusion_proof = 6
|
||||||
|
[ (ethereum.eth.ext.ssz_size) =
|
||||||
|
"kzg_commitments_inclusion_proof_depth.size,32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message DataColumnIdentifier {
|
message DataColumnIdentifier {
|
||||||
bytes block_root = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 column_index = 2;
|
uint64 column_index = 2;
|
||||||
}
|
}
|
||||||
4
proto/prysm/v1alpha1/debug.pb.go
generated
4
proto/prysm/v1alpha1/debug.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/debug.proto
|
// source: proto/prysm/v1alpha1/debug.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -19,147 +19,154 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
|||||||
//
|
//
|
||||||
// The debug service in Prysm provides API access to various utilities
|
// The debug service in Prysm provides API access to various utilities
|
||||||
// for debugging the beacon node's functionality at runtime, such as being able
|
// for debugging the beacon node's functionality at runtime, such as being able
|
||||||
// to retrieve the beacon state by block root or state root from the node directly.
|
// to retrieve the beacon state by block root or state root from the node
|
||||||
|
// directly.
|
||||||
service Debug {
|
service Debug {
|
||||||
// Returns a beacon state by filter criteria from the beacon node.
|
// Returns a beacon state by filter criteria from the beacon node.
|
||||||
rpc GetBeaconState(BeaconStateRequest) returns (SSZResponse) {
|
rpc GetBeaconState(BeaconStateRequest) returns (SSZResponse) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
get: "/eth/v1alpha1/debug/state"
|
get : "/eth/v1alpha1/debug/state"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
// Returns a beacon state by filter criteria from the beacon node.
|
// Returns a beacon state by filter criteria from the beacon node.
|
||||||
rpc GetBlock(BlockRequestByRoot) returns (SSZResponse) {
|
rpc GetBlock(BlockRequestByRoot) returns (SSZResponse) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
get: "/eth/v1alpha1/debug/block"
|
get : "/eth/v1alpha1/debug/block"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
// SetLoggingLevel sets the log-level of the beacon node programmatically.
|
// SetLoggingLevel sets the log-level of the beacon node programmatically.
|
||||||
rpc SetLoggingLevel(LoggingLevelRequest) returns (google.protobuf.Empty) {
|
rpc SetLoggingLevel(LoggingLevelRequest) returns (google.protobuf.Empty) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
post: "/eth/v1alpha1/debug/logging"
|
post : "/eth/v1alpha1/debug/logging"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
// Returns all the related data for every peer tracked by the host node.
|
// Returns all the related data for every peer tracked by the host node.
|
||||||
rpc ListPeers(google.protobuf.Empty) returns (DebugPeerResponses){
|
rpc ListPeers(google.protobuf.Empty) returns (DebugPeerResponses) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
get: "/eth/v1alpha1/debug/peers"
|
get : "/eth/v1alpha1/debug/peers"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
// Returns requested peer with specified peer id if it exists.
|
// Returns requested peer with specified peer id if it exists.
|
||||||
rpc GetPeer(ethereum.eth.v1alpha1.PeerRequest) returns (DebugPeerResponse) {
|
rpc GetPeer(ethereum.eth.v1alpha1.PeerRequest) returns (DebugPeerResponse) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
get: "/eth/v1alpha1/debug/peer"
|
get : "/eth/v1alpha1/debug/peer"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
message InclusionSlotRequest {
|
message InclusionSlotRequest {
|
||||||
uint64 id = 1;
|
uint64 id = 1;
|
||||||
uint64 slot = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 2 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message InclusionSlotResponse {
|
message InclusionSlotResponse {
|
||||||
uint64 slot = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 2 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message BeaconStateRequest {
|
message BeaconStateRequest {
|
||||||
oneof query_filter {
|
oneof query_filter {
|
||||||
// The slot corresponding to a desired beacon state.
|
// The slot corresponding to a desired beacon state.
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
|
|
||||||
// The block root corresponding to a desired beacon state.
|
// The block root corresponding to a desired beacon state.
|
||||||
bytes block_root = 2;
|
bytes block_root = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
message BlockRequestByRoot {
|
message BlockRequestByRoot { bytes block_root = 1; }
|
||||||
bytes block_root = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message SSZResponse {
|
message SSZResponse {
|
||||||
// Returns an ssz-encoded byte slice as a response.
|
// Returns an ssz-encoded byte slice as a response.
|
||||||
bytes encoded = 1;
|
bytes encoded = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message LoggingLevelRequest {
|
message LoggingLevelRequest {
|
||||||
// The logging levels available in Prysm as an enum.
|
// The logging levels available in Prysm as an enum.
|
||||||
enum Level {
|
enum Level {
|
||||||
INFO = 0;
|
INFO = 0;
|
||||||
DEBUG = 1;
|
DEBUG = 1;
|
||||||
TRACE = 2;
|
TRACE = 2;
|
||||||
}
|
}
|
||||||
Level level = 1;
|
Level level = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message DebugPeerResponses {
|
message DebugPeerResponses { repeated DebugPeerResponse responses = 1; }
|
||||||
repeated DebugPeerResponse responses = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message DebugPeerResponse {
|
message DebugPeerResponse {
|
||||||
// Peer related metadata that is useful for debugging.
|
// Peer related metadata that is useful for debugging.
|
||||||
message PeerInfo {
|
message PeerInfo {
|
||||||
// Metadata of the peer, containing their bitfield
|
// Metadata of the peer, containing their bitfield
|
||||||
// and sequence number.
|
// and sequence number.
|
||||||
MetaDataV0 metadataV0 = 1;
|
MetaDataV0 metadataV0 = 1;
|
||||||
MetaDataV1 metadataV1 = 2;
|
MetaDataV1 metadataV1 = 2;
|
||||||
// List of protocols the peer supports.
|
// List of protocols the peer supports.
|
||||||
repeated string protocols = 3;
|
repeated string protocols = 3;
|
||||||
// Number of times peer has been penalised.
|
// Number of times peer has been penalised.
|
||||||
uint64 fault_count = 4;
|
uint64 fault_count = 4;
|
||||||
// Protocol Version peer is running.
|
// Protocol Version peer is running.
|
||||||
string protocol_version = 5;
|
string protocol_version = 5;
|
||||||
// Agent Version peer is running.
|
// Agent Version peer is running.
|
||||||
string agent_version = 6;
|
string agent_version = 6;
|
||||||
// Latency of responses from peer(in ms).
|
// Latency of responses from peer(in ms).
|
||||||
uint64 peer_latency = 7;
|
uint64 peer_latency = 7;
|
||||||
}
|
}
|
||||||
// Listening addresses know of the peer.
|
// Listening addresses know of the peer.
|
||||||
repeated string listening_addresses = 1;
|
repeated string listening_addresses = 1;
|
||||||
// Direction of current connection.
|
// Direction of current connection.
|
||||||
ethereum.eth.v1alpha1.PeerDirection direction = 2;
|
ethereum.eth.v1alpha1.PeerDirection direction = 2;
|
||||||
// Current connection between host and peer.
|
// Current connection between host and peer.
|
||||||
ethereum.eth.v1alpha1.ConnectionState connection_state = 3;
|
ethereum.eth.v1alpha1.ConnectionState connection_state = 3;
|
||||||
// Peer ID of peer.
|
// Peer ID of peer.
|
||||||
string peer_id = 4;
|
string peer_id = 4;
|
||||||
// ENR of peer at the current moment.
|
// ENR of peer at the current moment.
|
||||||
string enr = 5;
|
string enr = 5;
|
||||||
// Peer Info of the peer containing all relevant metadata.
|
// Peer Info of the peer containing all relevant metadata.
|
||||||
PeerInfo peer_info = 6;
|
PeerInfo peer_info = 6;
|
||||||
// Peer Status of the peer.
|
// Peer Status of the peer.
|
||||||
Status peer_status = 7;
|
Status peer_status = 7;
|
||||||
// Last know update time for peer status.
|
// Last know update time for peer status.
|
||||||
uint64 last_updated = 8;
|
uint64 last_updated = 8;
|
||||||
// Score Info of the peer.
|
// Score Info of the peer.
|
||||||
ScoreInfo score_info = 9;
|
ScoreInfo score_info = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The Scoring related information of the particular peer.
|
// The Scoring related information of the particular peer.
|
||||||
message ScoreInfo {
|
message ScoreInfo {
|
||||||
float overall_score = 1;
|
float overall_score = 1;
|
||||||
// Amount of processed blocks provided by
|
// Amount of processed blocks provided by
|
||||||
// the peer.
|
// the peer.
|
||||||
uint64 processed_blocks = 2;
|
uint64 processed_blocks = 2;
|
||||||
// Related block provider score.
|
// Related block provider score.
|
||||||
float block_provider_score = 3;
|
float block_provider_score = 3;
|
||||||
// Relevant scores by particular topic.
|
// Relevant scores by particular topic.
|
||||||
map<string,TopicScoreSnapshot> topic_scores = 4;
|
map<string, TopicScoreSnapshot> topic_scores = 4;
|
||||||
// Gossip Score for peer.
|
// Gossip Score for peer.
|
||||||
float gossip_score = 5;
|
float gossip_score = 5;
|
||||||
// Behaviour penalty of peer.
|
// Behaviour penalty of peer.
|
||||||
float behaviour_penalty = 6;
|
float behaviour_penalty = 6;
|
||||||
// Returns the current validation error(if it exists).
|
// Returns the current validation error(if it exists).
|
||||||
string validation_error = 7;
|
string validation_error = 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
message TopicScoreSnapshot {
|
message TopicScoreSnapshot {
|
||||||
// Time a peer has spent in the gossip mesh.
|
// Time a peer has spent in the gossip mesh.
|
||||||
uint64 time_in_mesh = 1;
|
uint64 time_in_mesh = 1;
|
||||||
// This is the number of first message deliveries in the topic.
|
// This is the number of first message deliveries in the topic.
|
||||||
float first_message_deliveries = 2;
|
float first_message_deliveries = 2;
|
||||||
// This is the number of message deliveries in the mesh, within the MeshMessageDeliveriesWindow of
|
// This is the number of message deliveries in the mesh, within the
|
||||||
// message validation.It effectively tracks first and near-first
|
// MeshMessageDeliveriesWindow of message validation.It effectively tracks
|
||||||
// deliveries, ie a message seen from a mesh peer before we have forwarded it to them.
|
// first and near-first deliveries, ie a message seen from a mesh peer before
|
||||||
float mesh_message_deliveries = 3;
|
// we have forwarded it to them.
|
||||||
// This is the number of invalid messages in the topic from the peer.
|
float mesh_message_deliveries = 3;
|
||||||
float invalid_message_deliveries = 4;
|
// This is the number of invalid messages in the topic from the peer.
|
||||||
|
float invalid_message_deliveries = 4;
|
||||||
}
|
}
|
||||||
|
|||||||
4
proto/prysm/v1alpha1/eip_7251.pb.go
generated
4
proto/prysm/v1alpha1/eip_7251.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/eip_7251.proto
|
// source: proto/prysm/v1alpha1/eip_7251.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -25,33 +25,48 @@ option java_package = "org.ethereum.eth.v1alpha1";
|
|||||||
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||||
|
|
||||||
message PendingDeposit {
|
message PendingDeposit {
|
||||||
// 48 byte BLS public key of the validator.
|
// 48 byte BLS public key of the validator.
|
||||||
bytes public_key = 1 [(ethereum.eth.ext.ssz_size) = "48", (ethereum.eth.ext.spec_name) = "pubkey"];
|
bytes public_key = 1 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "48",
|
||||||
|
(ethereum.eth.ext.spec_name) = "pubkey"
|
||||||
|
];
|
||||||
|
|
||||||
// A 32 byte hash of the withdrawal address public key.
|
// A 32 byte hash of the withdrawal address public key.
|
||||||
bytes withdrawal_credentials = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes withdrawal_credentials = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// The amount of the deposit (gwei).
|
// The amount of the deposit (gwei).
|
||||||
uint64 amount = 3;
|
uint64 amount = 3;
|
||||||
// 96 byte BLS signature from the validator that produced this block.
|
// 96 byte BLS signature from the validator that produced this block.
|
||||||
bytes signature = 4 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 4 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
uint64 slot = 5 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 5 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message PendingPartialWithdrawal {
|
message PendingPartialWithdrawal {
|
||||||
// Validator index for the withdrawal.
|
// Validator index for the withdrawal.
|
||||||
uint64 index = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 index = 1 [ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.ValidatorIndex" ];
|
||||||
|
|
||||||
// The amount of the withdrawal (gwei).
|
// The amount of the withdrawal (gwei).
|
||||||
uint64 amount = 2;
|
uint64 amount = 2;
|
||||||
|
|
||||||
// A partial withdrawal is valid at this epoch or later.
|
// A partial withdrawal is valid at this epoch or later.
|
||||||
uint64 withdrawable_epoch = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
uint64 withdrawable_epoch = 3 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message PendingConsolidation {
|
message PendingConsolidation {
|
||||||
// Validator from which the funds will be moved.
|
// Validator from which the funds will be moved.
|
||||||
uint64 source_index = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 source_index = 1 [ (ethereum.eth.ext.cast_type) =
|
||||||
// Validator to which the funds will be moved.
|
"github.com/prysmaticlabs/prysm/v5/"
|
||||||
uint64 target_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
"consensus-types/primitives.ValidatorIndex" ];
|
||||||
|
// Validator to which the funds will be moved.
|
||||||
|
uint64 target_index = 2 [ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/"
|
||||||
|
"consensus-types/primitives.ValidatorIndex" ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/finalized_block_root_container.proto
|
// source: proto/prysm/v1alpha1/finalized_block_root_container.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -10,6 +10,6 @@ option java_package = "org.ethereum.eth.v1alpha1";
|
|||||||
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||||
|
|
||||||
message FinalizedBlockRootContainer {
|
message FinalizedBlockRootContainer {
|
||||||
bytes parent_root = 1;
|
bytes parent_root = 1;
|
||||||
bytes child_root = 2;
|
bytes child_root = 2;
|
||||||
}
|
}
|
||||||
|
|||||||
4
proto/prysm/v1alpha1/health.pb.go
generated
4
proto/prysm/v1alpha1/health.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/health.proto
|
// source: proto/prysm/v1alpha1/health.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -17,13 +17,11 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
|||||||
// The health service is able to return important metadata about a beacon node
|
// The health service is able to return important metadata about a beacon node
|
||||||
// such being able to stream logs via gRPC.
|
// such being able to stream logs via gRPC.
|
||||||
service Health {
|
service Health {
|
||||||
rpc StreamBeaconLogs(google.protobuf.Empty) returns (stream LogsResponse) {
|
rpc StreamBeaconLogs(google.protobuf.Empty) returns (stream LogsResponse) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
get: "/eth/v1alpha1/health/logs/stream"
|
get : "/eth/v1alpha1/health/logs/stream"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
message LogsResponse {
|
message LogsResponse { repeated string logs = 1; }
|
||||||
repeated string logs = 1;
|
|
||||||
}
|
|
||||||
|
|||||||
4
proto/prysm/v1alpha1/light_client.pb.go
generated
4
proto/prysm/v1alpha1/light_client.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/light_client.proto
|
// source: proto/prysm/v1alpha1/light_client.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -34,36 +34,45 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
|||||||
message LightClientBootstrapAltair {
|
message LightClientBootstrapAltair {
|
||||||
LightClientHeaderAltair header = 1;
|
LightClientHeaderAltair header = 1;
|
||||||
SyncCommittee current_sync_committee = 2;
|
SyncCommittee current_sync_committee = 2;
|
||||||
repeated bytes current_sync_committee_branch = 3 [(ethereum.eth.ext.ssz_size) = "5,32"];
|
repeated bytes current_sync_committee_branch = 3
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "5,32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientUpdateAltair {
|
message LightClientUpdateAltair {
|
||||||
LightClientHeaderAltair attested_header = 1;
|
LightClientHeaderAltair attested_header = 1;
|
||||||
SyncCommittee next_sync_committee = 2;
|
SyncCommittee next_sync_committee = 2;
|
||||||
repeated bytes next_sync_committee_branch = 3 [(ethereum.eth.ext.ssz_size) = "5,32"];
|
repeated bytes next_sync_committee_branch = 3
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "5,32" ];
|
||||||
LightClientHeaderAltair finalized_header = 4;
|
LightClientHeaderAltair finalized_header = 4;
|
||||||
repeated bytes finality_branch = 5 [(ethereum.eth.ext.ssz_size) = "6,32"];
|
repeated bytes finality_branch = 5 [ (ethereum.eth.ext.ssz_size) = "6,32" ];
|
||||||
SyncAggregate sync_aggregate = 6;
|
SyncAggregate sync_aggregate = 6;
|
||||||
uint64 signature_slot = 7 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 signature_slot = 7 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientFinalityUpdateAltair {
|
message LightClientFinalityUpdateAltair {
|
||||||
LightClientHeaderAltair attested_header = 1;
|
LightClientHeaderAltair attested_header = 1;
|
||||||
LightClientHeaderAltair finalized_header = 2;
|
LightClientHeaderAltair finalized_header = 2;
|
||||||
repeated bytes finality_branch = 3 [(ethereum.eth.ext.ssz_size) = "6,32"];
|
repeated bytes finality_branch = 3 [ (ethereum.eth.ext.ssz_size) = "6,32" ];
|
||||||
SyncAggregate sync_aggregate = 4;
|
SyncAggregate sync_aggregate = 4;
|
||||||
uint64 signature_slot = 5 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 signature_slot = 5 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientOptimisticUpdateAltair {
|
message LightClientOptimisticUpdateAltair {
|
||||||
LightClientHeaderAltair attested_header = 1;
|
LightClientHeaderAltair attested_header = 1;
|
||||||
SyncAggregate sync_aggregate = 2;
|
SyncAggregate sync_aggregate = 2;
|
||||||
uint64 signature_slot = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 signature_slot = 3 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientHeaderAltair {
|
message LightClientHeaderAltair { BeaconBlockHeader beacon = 1; }
|
||||||
BeaconBlockHeader beacon = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// Capella
|
// Capella
|
||||||
@@ -72,37 +81,48 @@ message LightClientHeaderAltair {
|
|||||||
message LightClientBootstrapCapella {
|
message LightClientBootstrapCapella {
|
||||||
LightClientHeaderCapella header = 1;
|
LightClientHeaderCapella header = 1;
|
||||||
SyncCommittee current_sync_committee = 2;
|
SyncCommittee current_sync_committee = 2;
|
||||||
repeated bytes current_sync_committee_branch = 3 [(ethereum.eth.ext.ssz_size) = "5,32"];
|
repeated bytes current_sync_committee_branch = 3
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "5,32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientUpdateCapella {
|
message LightClientUpdateCapella {
|
||||||
LightClientHeaderCapella attested_header = 1;
|
LightClientHeaderCapella attested_header = 1;
|
||||||
SyncCommittee next_sync_committee = 2;
|
SyncCommittee next_sync_committee = 2;
|
||||||
repeated bytes next_sync_committee_branch = 3 [(ethereum.eth.ext.ssz_size) = "5,32"];
|
repeated bytes next_sync_committee_branch = 3
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "5,32" ];
|
||||||
LightClientHeaderCapella finalized_header = 4;
|
LightClientHeaderCapella finalized_header = 4;
|
||||||
repeated bytes finality_branch = 5 [(ethereum.eth.ext.ssz_size) = "6,32"];
|
repeated bytes finality_branch = 5 [ (ethereum.eth.ext.ssz_size) = "6,32" ];
|
||||||
SyncAggregate sync_aggregate = 6;
|
SyncAggregate sync_aggregate = 6;
|
||||||
uint64 signature_slot = 7 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 signature_slot = 7 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientFinalityUpdateCapella {
|
message LightClientFinalityUpdateCapella {
|
||||||
LightClientHeaderCapella attested_header = 1;
|
LightClientHeaderCapella attested_header = 1;
|
||||||
LightClientHeaderCapella finalized_header = 2;
|
LightClientHeaderCapella finalized_header = 2;
|
||||||
repeated bytes finality_branch = 3 [(ethereum.eth.ext.ssz_size) = "6,32"];
|
repeated bytes finality_branch = 3 [ (ethereum.eth.ext.ssz_size) = "6,32" ];
|
||||||
SyncAggregate sync_aggregate = 4;
|
SyncAggregate sync_aggregate = 4;
|
||||||
uint64 signature_slot = 5 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 signature_slot = 5 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientOptimisticUpdateCapella {
|
message LightClientOptimisticUpdateCapella {
|
||||||
LightClientHeaderCapella attested_header = 1;
|
LightClientHeaderCapella attested_header = 1;
|
||||||
SyncAggregate sync_aggregate = 2;
|
SyncAggregate sync_aggregate = 2;
|
||||||
uint64 signature_slot = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 signature_slot = 3 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientHeaderCapella {
|
message LightClientHeaderCapella {
|
||||||
BeaconBlockHeader beacon = 1;
|
BeaconBlockHeader beacon = 1;
|
||||||
ethereum.engine.v1.ExecutionPayloadHeaderCapella execution = 2;
|
ethereum.engine.v1.ExecutionPayloadHeaderCapella execution = 2;
|
||||||
repeated bytes execution_branch = 3 [(ethereum.eth.ext.ssz_size) = "4,32"];
|
repeated bytes execution_branch = 3 [ (ethereum.eth.ext.ssz_size) = "4,32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -112,37 +132,48 @@ message LightClientHeaderCapella {
|
|||||||
message LightClientBootstrapDeneb {
|
message LightClientBootstrapDeneb {
|
||||||
LightClientHeaderDeneb header = 1;
|
LightClientHeaderDeneb header = 1;
|
||||||
SyncCommittee current_sync_committee = 2;
|
SyncCommittee current_sync_committee = 2;
|
||||||
repeated bytes current_sync_committee_branch = 3 [(ethereum.eth.ext.ssz_size) = "5,32"];
|
repeated bytes current_sync_committee_branch = 3
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "5,32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientUpdateDeneb {
|
message LightClientUpdateDeneb {
|
||||||
LightClientHeaderDeneb attested_header = 1;
|
LightClientHeaderDeneb attested_header = 1;
|
||||||
SyncCommittee next_sync_committee = 2;
|
SyncCommittee next_sync_committee = 2;
|
||||||
repeated bytes next_sync_committee_branch = 3 [(ethereum.eth.ext.ssz_size) = "5,32"];
|
repeated bytes next_sync_committee_branch = 3
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "5,32" ];
|
||||||
LightClientHeaderDeneb finalized_header = 4;
|
LightClientHeaderDeneb finalized_header = 4;
|
||||||
repeated bytes finality_branch = 5 [(ethereum.eth.ext.ssz_size) = "6,32"];
|
repeated bytes finality_branch = 5 [ (ethereum.eth.ext.ssz_size) = "6,32" ];
|
||||||
SyncAggregate sync_aggregate = 6;
|
SyncAggregate sync_aggregate = 6;
|
||||||
uint64 signature_slot = 7 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 signature_slot = 7 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientFinalityUpdateDeneb {
|
message LightClientFinalityUpdateDeneb {
|
||||||
LightClientHeaderDeneb attested_header = 1;
|
LightClientHeaderDeneb attested_header = 1;
|
||||||
LightClientHeaderDeneb finalized_header = 2;
|
LightClientHeaderDeneb finalized_header = 2;
|
||||||
repeated bytes finality_branch = 3 [(ethereum.eth.ext.ssz_size) = "6,32"];
|
repeated bytes finality_branch = 3 [ (ethereum.eth.ext.ssz_size) = "6,32" ];
|
||||||
SyncAggregate sync_aggregate = 4;
|
SyncAggregate sync_aggregate = 4;
|
||||||
uint64 signature_slot = 5 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 signature_slot = 5 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientOptimisticUpdateDeneb {
|
message LightClientOptimisticUpdateDeneb {
|
||||||
LightClientHeaderDeneb attested_header = 1;
|
LightClientHeaderDeneb attested_header = 1;
|
||||||
SyncAggregate sync_aggregate = 2;
|
SyncAggregate sync_aggregate = 2;
|
||||||
uint64 signature_slot = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 signature_slot = 3 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientHeaderDeneb {
|
message LightClientHeaderDeneb {
|
||||||
BeaconBlockHeader beacon = 1;
|
BeaconBlockHeader beacon = 1;
|
||||||
ethereum.engine.v1.ExecutionPayloadHeaderDeneb execution = 2;
|
ethereum.engine.v1.ExecutionPayloadHeaderDeneb execution = 2;
|
||||||
repeated bytes execution_branch = 3 [(ethereum.eth.ext.ssz_size) = "4,32"];
|
repeated bytes execution_branch = 3 [ (ethereum.eth.ext.ssz_size) = "4,32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -152,23 +183,31 @@ message LightClientHeaderDeneb {
|
|||||||
message LightClientBootstrapElectra {
|
message LightClientBootstrapElectra {
|
||||||
LightClientHeaderDeneb header = 1;
|
LightClientHeaderDeneb header = 1;
|
||||||
SyncCommittee current_sync_committee = 2;
|
SyncCommittee current_sync_committee = 2;
|
||||||
repeated bytes current_sync_committee_branch = 3 [(ethereum.eth.ext.ssz_size) = "6,32"];
|
repeated bytes current_sync_committee_branch = 3
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "6,32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientUpdateElectra {
|
message LightClientUpdateElectra {
|
||||||
LightClientHeaderDeneb attested_header = 1;
|
LightClientHeaderDeneb attested_header = 1;
|
||||||
SyncCommittee next_sync_committee = 2;
|
SyncCommittee next_sync_committee = 2;
|
||||||
repeated bytes next_sync_committee_branch = 3 [(ethereum.eth.ext.ssz_size) = "6,32"];
|
repeated bytes next_sync_committee_branch = 3
|
||||||
|
[ (ethereum.eth.ext.ssz_size) = "6,32" ];
|
||||||
LightClientHeaderDeneb finalized_header = 4;
|
LightClientHeaderDeneb finalized_header = 4;
|
||||||
repeated bytes finality_branch = 5 [(ethereum.eth.ext.ssz_size) = "7,32"];
|
repeated bytes finality_branch = 5 [ (ethereum.eth.ext.ssz_size) = "7,32" ];
|
||||||
SyncAggregate sync_aggregate = 6;
|
SyncAggregate sync_aggregate = 6;
|
||||||
uint64 signature_slot = 7 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 signature_slot = 7 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message LightClientFinalityUpdateElectra {
|
message LightClientFinalityUpdateElectra {
|
||||||
LightClientHeaderDeneb attested_header = 1;
|
LightClientHeaderDeneb attested_header = 1;
|
||||||
LightClientHeaderDeneb finalized_header = 2;
|
LightClientHeaderDeneb finalized_header = 2;
|
||||||
repeated bytes finality_branch = 3 [(ethereum.eth.ext.ssz_max) = "7,32"];
|
repeated bytes finality_branch = 3 [ (ethereum.eth.ext.ssz_max) = "7,32" ];
|
||||||
SyncAggregate sync_aggregate = 4;
|
SyncAggregate sync_aggregate = 4;
|
||||||
uint64 signature_slot = 5 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 signature_slot = 5 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
4
proto/prysm/v1alpha1/node.pb.go
generated
4
proto/prysm/v1alpha1/node.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/node.proto
|
// source: proto/prysm/v1alpha1/node.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -33,145 +33,143 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
|||||||
// Node service provides general information about the node itself, the services
|
// Node service provides general information about the node itself, the services
|
||||||
// it supports, chain information and node version.
|
// it supports, chain information and node version.
|
||||||
service Node {
|
service Node {
|
||||||
// Retrieve the current network sync status of the node.
|
// Retrieve the current network sync status of the node.
|
||||||
rpc GetSyncStatus(google.protobuf.Empty) returns (SyncStatus) {
|
rpc GetSyncStatus(google.protobuf.Empty) returns (SyncStatus) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
get: "/eth/v1alpha1/node/syncing"
|
get : "/eth/v1alpha1/node/syncing"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve information about the genesis of Ethereum proof of stake.
|
// Retrieve information about the genesis of Ethereum proof of stake.
|
||||||
rpc GetGenesis(google.protobuf.Empty) returns (Genesis) {
|
rpc GetGenesis(google.protobuf.Empty) returns (Genesis) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
get: "/eth/v1alpha1/node/genesis"
|
get : "/eth/v1alpha1/node/genesis"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve information about the running Ethereum Beacon Node.
|
// Retrieve information about the running Ethereum Beacon Node.
|
||||||
rpc GetVersion(google.protobuf.Empty) returns (Version) {
|
rpc GetVersion(google.protobuf.Empty) returns (Version) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
get: "/eth/v1alpha1/node/version"
|
get : "/eth/v1alpha1/node/version"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve the current health of the node.
|
// Retrieve the current health of the node.
|
||||||
rpc GetHealth(HealthRequest) returns (google.protobuf.Empty) {
|
rpc GetHealth(HealthRequest) returns (google.protobuf.Empty) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
get: "/eth/v1alpha1/node/health"
|
get : "/eth/v1alpha1/node/health"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve the list of services implemented and enabled by this node.
|
// Retrieve the list of services implemented and enabled by this node.
|
||||||
//
|
//
|
||||||
// Any service not present in this list may return UNIMPLEMENTED or
|
// Any service not present in this list may return UNIMPLEMENTED or
|
||||||
// PERMISSION_DENIED. The server may also support fetching services by grpc
|
// PERMISSION_DENIED. The server may also support fetching services by grpc
|
||||||
// reflection.
|
// reflection.
|
||||||
rpc ListImplementedServices(google.protobuf.Empty) returns (ImplementedServices) {
|
rpc ListImplementedServices(google.protobuf.Empty)
|
||||||
option (google.api.http) = {
|
returns (ImplementedServices) {
|
||||||
get: "/eth/v1alpha1/node/services"
|
option (google.api.http) = {
|
||||||
};
|
get : "/eth/v1alpha1/node/services"
|
||||||
}
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// Retrieves the peer data of the local peer.
|
// Retrieves the peer data of the local peer.
|
||||||
rpc GetHost(google.protobuf.Empty) returns (HostData) {
|
rpc GetHost(google.protobuf.Empty) returns (HostData) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
get: "/eth/v1alpha1/node/p2p"
|
get : "/eth/v1alpha1/node/p2p"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve the peer corresponding to the provided peer id.
|
// Retrieve the peer corresponding to the provided peer id.
|
||||||
rpc GetPeer(PeerRequest) returns (Peer) {
|
rpc GetPeer(PeerRequest) returns (Peer) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
get: "/eth/v1alpha1/node/peer"
|
get : "/eth/v1alpha1/node/peer"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve the list of peers currently connected to this node.
|
// Retrieve the list of peers currently connected to this node.
|
||||||
rpc ListPeers(google.protobuf.Empty) returns (Peers) {
|
rpc ListPeers(google.protobuf.Empty) returns (Peers) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
get: "/eth/v1alpha1/node/peers"
|
get : "/eth/v1alpha1/node/peers"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// // Retrieve the status of the ETH1 connections.
|
// // Retrieve the status of the ETH1 connections.
|
||||||
rpc GetETH1ConnectionStatus(google.protobuf.Empty) returns (ETH1ConnectionStatus) {
|
rpc GetETH1ConnectionStatus(google.protobuf.Empty)
|
||||||
option (google.api.http) = {
|
returns (ETH1ConnectionStatus) {
|
||||||
get: "/eth/v1alpha1/node/eth1/connections"
|
option (google.api.http) = {
|
||||||
};
|
get : "/eth/v1alpha1/node/eth1/connections"
|
||||||
}
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
message HealthRequest {
|
message HealthRequest { uint64 syncing_status = 1; }
|
||||||
uint64 syncing_status = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Information about the current network sync status of the node.
|
// Information about the current network sync status of the node.
|
||||||
message SyncStatus {
|
message SyncStatus {
|
||||||
// Whether or not the node is currently syncing.
|
// Whether or not the node is currently syncing.
|
||||||
bool syncing = 1;
|
bool syncing = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Information about the genesis of Ethereum proof of stake.
|
// Information about the genesis of Ethereum proof of stake.
|
||||||
message Genesis {
|
message Genesis {
|
||||||
// UTC time specified in the chain start event in the deposit contract.
|
// UTC time specified in the chain start event in the deposit contract.
|
||||||
google.protobuf.Timestamp genesis_time = 1;
|
google.protobuf.Timestamp genesis_time = 1;
|
||||||
|
|
||||||
// Address of the deposit contract in the Ethereum 1 chain.
|
// Address of the deposit contract in the Ethereum 1 chain.
|
||||||
bytes deposit_contract_address = 2;
|
bytes deposit_contract_address = 2;
|
||||||
|
|
||||||
// Root of the genesis validators deposits; used for domain separation
|
// Root of the genesis validators deposits; used for domain separation
|
||||||
// when signing data structures for this chain.
|
// when signing data structures for this chain.
|
||||||
bytes genesis_validators_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes genesis_validators_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Information about the node version.
|
// Information about the node version.
|
||||||
message Version {
|
message Version {
|
||||||
// A string that uniquely identifies the node and its version.
|
// A string that uniquely identifies the node and its version.
|
||||||
string version = 1;
|
string version = 1;
|
||||||
|
|
||||||
// Additional metadata that the node would like to provide. This field may
|
// Additional metadata that the node would like to provide. This field may
|
||||||
// be used to list any meaningful data to the client.
|
// be used to list any meaningful data to the client.
|
||||||
string metadata = 2;
|
string metadata = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ImplementedServices {
|
message ImplementedServices { repeated string services = 1; }
|
||||||
repeated string services = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message PeerRequest {
|
message PeerRequest {
|
||||||
// Peer id of the peer requested.
|
// Peer id of the peer requested.
|
||||||
string peer_id = 1;
|
string peer_id = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Peers is a list of peer messages.
|
// Peers is a list of peer messages.
|
||||||
message Peers {
|
message Peers { repeated Peer peers = 1; }
|
||||||
repeated Peer peers = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Peer provides details of a peer on the network.
|
// Peer provides details of a peer on the network.
|
||||||
message Peer {
|
message Peer {
|
||||||
// The address of the peer, as a full multiaddr, for example:
|
// The address of the peer, as a full multiaddr, for example:
|
||||||
// /ip4/37.221.192.134/tcp/13000/p2p/16Uiu2HAm8maLMjag1TAUM52zPfmLbVMGFdwUAWgoHu1HDQLR6e17
|
// /ip4/37.221.192.134/tcp/13000/p2p/16Uiu2HAm8maLMjag1TAUM52zPfmLbVMGFdwUAWgoHu1HDQLR6e17
|
||||||
string address = 1;
|
string address = 1;
|
||||||
// The direction of the connection (inbound/outbound).
|
// The direction of the connection (inbound/outbound).
|
||||||
PeerDirection direction = 2;
|
PeerDirection direction = 2;
|
||||||
// The connection state of the peer at the moment of the request. (e.g. Connecting)
|
// The connection state of the peer at the moment of the request. (e.g.
|
||||||
ConnectionState connection_state = 3;
|
// Connecting)
|
||||||
// The peer id of the peer.
|
ConnectionState connection_state = 3;
|
||||||
string peer_id = 4;
|
// The peer id of the peer.
|
||||||
// The latest ENR of the peer that's in the record.
|
string peer_id = 4;
|
||||||
string enr = 5;
|
// The latest ENR of the peer that's in the record.
|
||||||
|
string enr = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
// P2P Data on the local host.
|
// P2P Data on the local host.
|
||||||
message HostData {
|
message HostData {
|
||||||
// All the multiaddress of the peer, specified as a full multiaddr, for example:
|
// All the multiaddress of the peer, specified as a full multiaddr, for
|
||||||
// /ip4/37.221.192.134/tcp/13000/p2p/16Uiu2HAm8maLMjag1TAUM52zPfmLbVMGFdwUAWgoHu1HDQLR6e17
|
// example:
|
||||||
repeated string addresses = 1;
|
// /ip4/37.221.192.134/tcp/13000/p2p/16Uiu2HAm8maLMjag1TAUM52zPfmLbVMGFdwUAWgoHu1HDQLR6e17
|
||||||
// The peer id of the peer.
|
repeated string addresses = 1;
|
||||||
string peer_id = 2;
|
// The peer id of the peer.
|
||||||
// The latest ENR of the local peer.
|
string peer_id = 2;
|
||||||
string enr = 3;
|
// The latest ENR of the local peer.
|
||||||
|
string enr = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// PeerDirection states the direction of the connection to a peer.
|
// PeerDirection states the direction of the connection to a peer.
|
||||||
@@ -183,24 +181,24 @@ enum PeerDirection {
|
|||||||
|
|
||||||
// ConnectionState states the current status of the peer.
|
// ConnectionState states the current status of the peer.
|
||||||
enum ConnectionState {
|
enum ConnectionState {
|
||||||
DISCONNECTED = 0;
|
DISCONNECTED = 0;
|
||||||
DISCONNECTING = 1;
|
DISCONNECTING = 1;
|
||||||
CONNECTED = 2;
|
CONNECTED = 2;
|
||||||
CONNECTING = 3;
|
CONNECTING = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ETH1ConnectionStatus states the current address and error of the ETH1 API
|
// ETH1ConnectionStatus states the current address and error of the ETH1 API
|
||||||
// endpoint. It also provides the addresses and errors for any fallback URLs.
|
// endpoint. It also provides the addresses and errors for any fallback URLs.
|
||||||
message ETH1ConnectionStatus {
|
message ETH1ConnectionStatus {
|
||||||
// Current ETH1 HTTP endpoint.
|
// Current ETH1 HTTP endpoint.
|
||||||
string current_address = 1;
|
string current_address = 1;
|
||||||
|
|
||||||
// Current error (if any) of the current connection.
|
// Current error (if any) of the current connection.
|
||||||
string current_connection_error = 2;
|
string current_connection_error = 2;
|
||||||
|
|
||||||
// A list of all provider URLs.
|
// A list of all provider URLs.
|
||||||
repeated string addresses = 3;
|
repeated string addresses = 3;
|
||||||
|
|
||||||
// Current error (if any) of the HTTP connections.
|
// Current error (if any) of the HTTP connections.
|
||||||
repeated string connection_errors = 4;
|
repeated string connection_errors = 4;
|
||||||
}
|
}
|
||||||
|
|||||||
4
proto/prysm/v1alpha1/p2p_messages.pb.go
generated
4
proto/prysm/v1alpha1/p2p_messages.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/p2p_messages.proto
|
// source: proto/prysm/v1alpha1/p2p_messages.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -13,23 +13,35 @@ option java_package = "org.ethereum.eth.v1alpha1";
|
|||||||
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||||
|
|
||||||
message Status {
|
message Status {
|
||||||
bytes fork_digest = 1 [(ethereum.eth.ext.ssz_size) = "4"];
|
bytes fork_digest = 1 [ (ethereum.eth.ext.ssz_size) = "4" ];
|
||||||
bytes finalized_root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes finalized_root = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
uint64 finalized_epoch = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
uint64 finalized_epoch = 3 [
|
||||||
bytes head_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
(ethereum.eth.ext.cast_type) =
|
||||||
uint64 head_slot = 5 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
bytes head_root = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
uint64 head_slot = 5 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
message BeaconBlocksByRangeRequest {
|
message BeaconBlocksByRangeRequest {
|
||||||
uint64 start_slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 start_slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
uint64 count = 2;
|
uint64 count = 2;
|
||||||
uint64 step = 3;
|
uint64 step = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ENRForkID {
|
message ENRForkID {
|
||||||
bytes current_fork_digest = 1 [(ethereum.eth.ext.ssz_size) = "4"];
|
bytes current_fork_digest = 1 [ (ethereum.eth.ext.ssz_size) = "4" ];
|
||||||
bytes next_fork_version = 2 [(ethereum.eth.ext.ssz_size) = "4"];
|
bytes next_fork_version = 2 [ (ethereum.eth.ext.ssz_size) = "4" ];
|
||||||
uint64 next_fork_epoch = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
uint64 next_fork_epoch = 3 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -42,7 +54,11 @@ message ENRForkID {
|
|||||||
*/
|
*/
|
||||||
message MetaDataV0 {
|
message MetaDataV0 {
|
||||||
uint64 seq_number = 1;
|
uint64 seq_number = 1;
|
||||||
bytes attnets = 2 [(ethereum.eth.ext.ssz_size) = "8", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector64"];
|
bytes attnets = 2 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "8",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitvector64"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -56,8 +72,16 @@ message MetaDataV0 {
|
|||||||
*/
|
*/
|
||||||
message MetaDataV1 {
|
message MetaDataV1 {
|
||||||
uint64 seq_number = 1;
|
uint64 seq_number = 1;
|
||||||
bytes attnets = 2 [(ethereum.eth.ext.ssz_size) = "8", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector64"];
|
bytes attnets = 2 [
|
||||||
bytes syncnets = 3 [(ethereum.eth.ext.ssz_size) = "1", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector4"];
|
(ethereum.eth.ext.ssz_size) = "8",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitvector64"
|
||||||
|
];
|
||||||
|
bytes syncnets = 3 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "1",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitvector4"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -72,8 +96,16 @@ message MetaDataV1 {
|
|||||||
*/
|
*/
|
||||||
message MetaDataV2 {
|
message MetaDataV2 {
|
||||||
uint64 seq_number = 1;
|
uint64 seq_number = 1;
|
||||||
bytes attnets = 2 [(ethereum.eth.ext.ssz_size) = "8", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector64"];
|
bytes attnets = 2 [
|
||||||
bytes syncnets = 3 [(ethereum.eth.ext.ssz_size) = "1", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector4"];
|
(ethereum.eth.ext.ssz_size) = "8",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitvector64"
|
||||||
|
];
|
||||||
|
bytes syncnets = 3 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "1",
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/go-bitfield.Bitvector4"
|
||||||
|
];
|
||||||
uint64 custody_subnet_count = 4;
|
uint64 custody_subnet_count = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,7 +117,10 @@ message MetaDataV2 {
|
|||||||
)
|
)
|
||||||
*/
|
*/
|
||||||
message BlobSidecarsByRangeRequest {
|
message BlobSidecarsByRangeRequest {
|
||||||
uint64 start_slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 start_slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
uint64 count = 2;
|
uint64 count = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,7 +133,10 @@ Spec Definition:
|
|||||||
)
|
)
|
||||||
*/
|
*/
|
||||||
message DataColumnSidecarsByRangeRequest {
|
message DataColumnSidecarsByRangeRequest {
|
||||||
uint64 start_slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 start_slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
uint64 count = 2;
|
uint64 count = 2;
|
||||||
repeated uint64 columns = 3 [(ethereum.eth.ext.ssz_max) = "128"];
|
repeated uint64 columns = 3 [ (ethereum.eth.ext.ssz_max) = "128" ];
|
||||||
}
|
}
|
||||||
4
proto/prysm/v1alpha1/powchain.pb.go
generated
4
proto/prysm/v1alpha1/powchain.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/powchain.proto
|
// source: proto/prysm/v1alpha1/powchain.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -17,58 +17,59 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
|||||||
// ETH1ChainData is a container which holds all the relevant eth1
|
// ETH1ChainData is a container which holds all the relevant eth1
|
||||||
// information
|
// information
|
||||||
message ETH1ChainData {
|
message ETH1ChainData {
|
||||||
LatestETH1Data current_eth1_data = 1 ;
|
LatestETH1Data current_eth1_data = 1;
|
||||||
ChainStartData chainstart_data = 2;
|
ChainStartData chainstart_data = 2;
|
||||||
BeaconState beacon_state = 3;
|
BeaconState beacon_state = 3;
|
||||||
SparseMerkleTrie trie = 4;
|
SparseMerkleTrie trie = 4;
|
||||||
repeated DepositContainer deposit_containers = 5;
|
repeated DepositContainer deposit_containers = 5;
|
||||||
DepositSnapshot deposit_snapshot = 6;
|
DepositSnapshot deposit_snapshot = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
// DepositSnapshot represents an EIP-4881 deposit snapshot
|
// DepositSnapshot represents an EIP-4881 deposit snapshot
|
||||||
message DepositSnapshot {
|
message DepositSnapshot {
|
||||||
repeated bytes finalized = 1 [(ethereum.eth.ext.ssz_size) = "?,32", (ethereum.eth.ext.ssz_max) = "32"];
|
repeated bytes finalized = 1 [
|
||||||
bytes deposit_root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
(ethereum.eth.ext.ssz_size) = "?,32",
|
||||||
uint64 deposit_count = 3;
|
(ethereum.eth.ext.ssz_max) = "32"
|
||||||
bytes execution_hash = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
];
|
||||||
uint64 execution_depth = 5;
|
bytes deposit_root = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
uint64 deposit_count = 3;
|
||||||
|
bytes execution_hash = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
uint64 execution_depth = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
// LatestETH1Data contains the current state of the eth1 chain.
|
// LatestETH1Data contains the current state of the eth1 chain.
|
||||||
message LatestETH1Data {
|
message LatestETH1Data {
|
||||||
uint64 block_height = 2;
|
uint64 block_height = 2;
|
||||||
uint64 block_time = 3;
|
uint64 block_time = 3;
|
||||||
bytes block_hash = 4;
|
bytes block_hash = 4;
|
||||||
uint64 last_requested_block = 5;
|
uint64 last_requested_block = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ChainStartData contains all the information related to chainstart.
|
// ChainStartData contains all the information related to chainstart.
|
||||||
message ChainStartData {
|
message ChainStartData {
|
||||||
bool chainstarted = 1;
|
bool chainstarted = 1;
|
||||||
uint64 genesis_time = 2;
|
uint64 genesis_time = 2;
|
||||||
uint64 genesis_block = 3;
|
uint64 genesis_block = 3;
|
||||||
Eth1Data eth1_data = 4;
|
Eth1Data eth1_data = 4;
|
||||||
repeated Deposit chainstart_deposits = 5;
|
repeated Deposit chainstart_deposits = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
// SparseMerkleTrie is used to describe the model of our deposit trie.
|
// SparseMerkleTrie is used to describe the model of our deposit trie.
|
||||||
message SparseMerkleTrie {
|
message SparseMerkleTrie {
|
||||||
uint64 depth = 1;
|
uint64 depth = 1;
|
||||||
repeated TrieLayer layers = 2;
|
repeated TrieLayer layers = 2;
|
||||||
repeated bytes original_items = 3;
|
repeated bytes original_items = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TrieLayer is used to represent each layer in the deposit tree due to
|
// TrieLayer is used to represent each layer in the deposit tree due to
|
||||||
// the lack of protobuf support for multi-dimensional arrays.(Ex: 3d,4d,...)
|
// the lack of protobuf support for multi-dimensional arrays.(Ex: 3d,4d,...)
|
||||||
message TrieLayer {
|
message TrieLayer { repeated bytes layer = 1; }
|
||||||
repeated bytes layer = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// DepositContainer defines a container that can be used to store
|
// DepositContainer defines a container that can be used to store
|
||||||
// deposit related information for a particular deposit.
|
// deposit related information for a particular deposit.
|
||||||
message DepositContainer {
|
message DepositContainer {
|
||||||
int64 index = 1;
|
int64 index = 1;
|
||||||
uint64 eth1_block_height = 2;
|
uint64 eth1_block_height = 2;
|
||||||
Deposit deposit = 3;
|
Deposit deposit = 3;
|
||||||
bytes deposit_root = 4;
|
bytes deposit_root = 4;
|
||||||
}
|
}
|
||||||
|
|||||||
4
proto/prysm/v1alpha1/slasher.pb.go
generated
4
proto/prysm/v1alpha1/slasher.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/slasher.proto
|
// source: proto/prysm/v1alpha1/slasher.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -26,10 +26,12 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
|||||||
|
|
||||||
message HighestAttestation {
|
message HighestAttestation {
|
||||||
uint64 validator_index = 1;
|
uint64 validator_index = 1;
|
||||||
uint64 highest_source_epoch = 2
|
uint64 highest_source_epoch = 2 [
|
||||||
[ (ethereum.eth.ext.cast_type) =
|
(ethereum.eth.ext.cast_type) =
|
||||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch" ];
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
uint64 highest_target_epoch = 3
|
];
|
||||||
[ (ethereum.eth.ext.cast_type) =
|
uint64 highest_target_epoch = 3 [
|
||||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch" ];
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
4
proto/prysm/v1alpha1/sync_committee.pb.go
generated
4
proto/prysm/v1alpha1/sync_committee.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/sync_committee.proto
|
// source: proto/prysm/v1alpha1/sync_committee.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -27,52 +27,69 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
|||||||
// Sync committee object to support light client.
|
// Sync committee object to support light client.
|
||||||
message SyncCommitteeMessage {
|
message SyncCommitteeMessage {
|
||||||
// Slot to which this contribution pertains.
|
// Slot to which this contribution pertains.
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
|
|
||||||
// 32 byte block root for this signature.
|
// 32 byte block root for this signature.
|
||||||
bytes block_root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_root = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// Index of the validator that produced this signature.
|
// Index of the validator that produced this signature.
|
||||||
uint64 validator_index = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 validator_index = 3
|
||||||
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.ValidatorIndex" ];
|
||||||
|
|
||||||
// Signature by the validator over the block root of `slot`.
|
// Signature by the validator over the block root of `slot`.
|
||||||
bytes signature = 4 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 4 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Signed aggregated sync committee signature object with selection proof to support light client.
|
// Signed aggregated sync committee signature object with selection proof to
|
||||||
|
// support light client.
|
||||||
message SignedContributionAndProof {
|
message SignedContributionAndProof {
|
||||||
ContributionAndProof message = 1;
|
ContributionAndProof message = 1;
|
||||||
|
|
||||||
// Signature of the aggregator that produced `message`.
|
// Signature of the aggregator that produced `message`.
|
||||||
bytes signature = 4 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 4 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Aggregated sync committee signature object with selection proof to support light client.
|
// Aggregated sync committee signature object with selection proof to support
|
||||||
|
// light client.
|
||||||
message ContributionAndProof {
|
message ContributionAndProof {
|
||||||
// Index of the aggregator that produced this proof.
|
// Index of the aggregator that produced this proof.
|
||||||
uint64 aggregator_index = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 aggregator_index = 1
|
||||||
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
|
"primitives.ValidatorIndex" ];
|
||||||
|
|
||||||
SyncCommitteeContribution contribution = 2;
|
SyncCommitteeContribution contribution = 2;
|
||||||
|
|
||||||
// The selection proof itself.
|
// The selection proof itself.
|
||||||
bytes selection_proof = 3 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes selection_proof = 3 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Aggregated sync committee object to support light client.
|
// Aggregated sync committee object to support light client.
|
||||||
message SyncCommitteeContribution {
|
message SyncCommitteeContribution {
|
||||||
// Slot to which this contribution pertains.
|
// Slot to which this contribution pertains.
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 slot = 1 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
|
|
||||||
// 32 byte block root for this signature.
|
// 32 byte block root for this signature.
|
||||||
bytes block_root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
bytes block_root = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
|
|
||||||
// The subcommittee this contribution pertains to out of the broader sync committee.
|
// The subcommittee this contribution pertains to out of the broader sync
|
||||||
|
// committee.
|
||||||
uint64 subcommittee_index = 3;
|
uint64 subcommittee_index = 3;
|
||||||
|
|
||||||
// A bit is set if a signature from the validator at the corresponding
|
// A bit is set if a signature from the validator at the corresponding
|
||||||
// index in the subcommittee is present in the aggregate `signature`.
|
// index in the subcommittee is present in the aggregate `signature`.
|
||||||
bytes aggregation_bits = 4 [(ethereum.eth.ext.ssz_size) = "sync_committee_aggregate_bytes.size", (ethereum.eth.ext.cast_type) = "sync_committee_aggregate_bits.type"];
|
bytes aggregation_bits = 4 [
|
||||||
|
(ethereum.eth.ext.ssz_size) = "sync_committee_aggregate_bytes.size",
|
||||||
|
(ethereum.eth.ext.cast_type) = "sync_committee_aggregate_bits.type"
|
||||||
|
];
|
||||||
// Signature by the validator(s) over the block root of `slot`.
|
// Signature by the validator(s) over the block root of `slot`.
|
||||||
bytes signature = 5 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 5 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/validator-client/keymanager.proto
|
// source: proto/prysm/v1alpha1/validator-client/keymanager.proto
|
||||||
|
|
||||||
package validatorpb
|
package validatorpb
|
||||||
|
|||||||
@@ -17,80 +17,93 @@ option php_namespace = "Ethereum\\Validator\\Accounts\\V2";
|
|||||||
// SignRequest is a message type used by a keymanager
|
// SignRequest is a message type used by a keymanager
|
||||||
// as part of Prysm's accounts v2 implementation.
|
// as part of Prysm's accounts v2 implementation.
|
||||||
message SignRequest {
|
message SignRequest {
|
||||||
// 48 byte public key corresponding to an associated private key
|
// 48 byte public key corresponding to an associated private key
|
||||||
// being requested to sign data.
|
// being requested to sign data.
|
||||||
bytes public_key = 1;
|
bytes public_key = 1;
|
||||||
|
|
||||||
// Raw bytes signing root the client is requesting to sign. The client is
|
// Raw bytes signing root the client is requesting to sign. The client is
|
||||||
// expected to determine these raw bytes from the appropriate BLS
|
// expected to determine these raw bytes from the appropriate BLS
|
||||||
// signing domain as well as the signing root of the data structure
|
// signing domain as well as the signing root of the data structure
|
||||||
// the bytes represent.
|
// the bytes represent.
|
||||||
bytes signing_root = 2;
|
bytes signing_root = 2;
|
||||||
|
|
||||||
// Signature domain and the beacon chain objects to allow server to verify
|
// Signature domain and the beacon chain objects to allow server to verify
|
||||||
// the contents and to prevent slashing.
|
// the contents and to prevent slashing.
|
||||||
bytes signature_domain = 3;
|
bytes signature_domain = 3;
|
||||||
// Beacon chain objects. [100-200]
|
// Beacon chain objects. [100-200]
|
||||||
oneof object {
|
oneof object {
|
||||||
// Phase0 objects.
|
// Phase0 objects.
|
||||||
ethereum.eth.v1alpha1.BeaconBlock block = 101;
|
ethereum.eth.v1alpha1.BeaconBlock block = 101;
|
||||||
ethereum.eth.v1alpha1.AttestationData attestation_data = 102;
|
ethereum.eth.v1alpha1.AttestationData attestation_data = 102;
|
||||||
ethereum.eth.v1alpha1.AggregateAttestationAndProof aggregate_attestation_and_proof = 103;
|
ethereum.eth.v1alpha1.AggregateAttestationAndProof
|
||||||
ethereum.eth.v1alpha1.VoluntaryExit exit = 104;
|
aggregate_attestation_and_proof = 103;
|
||||||
uint64 slot = 105 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
ethereum.eth.v1alpha1.VoluntaryExit exit = 104;
|
||||||
uint64 epoch = 106 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
uint64 slot = 105 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
|
uint64 epoch = 106 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||||
|
];
|
||||||
|
|
||||||
// Altair objects.
|
// Altair objects.
|
||||||
ethereum.eth.v1alpha1.BeaconBlockAltair block_altair = 107;
|
ethereum.eth.v1alpha1.BeaconBlockAltair block_altair = 107;
|
||||||
ethereum.eth.v1alpha1.SyncAggregatorSelectionData sync_aggregator_selection_data = 108;
|
ethereum.eth.v1alpha1.SyncAggregatorSelectionData
|
||||||
ethereum.eth.v1alpha1.ContributionAndProof contribution_and_proof = 109;
|
sync_aggregator_selection_data = 108;
|
||||||
bytes sync_message_block_root = 110;
|
ethereum.eth.v1alpha1.ContributionAndProof contribution_and_proof = 109;
|
||||||
|
bytes sync_message_block_root = 110;
|
||||||
|
|
||||||
// Bellatrix objects.
|
// Bellatrix objects.
|
||||||
ethereum.eth.v1alpha1.BeaconBlockBellatrix block_bellatrix = 111;
|
ethereum.eth.v1alpha1.BeaconBlockBellatrix block_bellatrix = 111;
|
||||||
ethereum.eth.v1alpha1.BlindedBeaconBlockBellatrix blinded_block_bellatrix = 112;
|
ethereum.eth.v1alpha1.BlindedBeaconBlockBellatrix blinded_block_bellatrix =
|
||||||
|
112;
|
||||||
|
|
||||||
// Builder objects.
|
// Builder objects.
|
||||||
ethereum.eth.v1alpha1.ValidatorRegistrationV1 registration = 113;
|
ethereum.eth.v1alpha1.ValidatorRegistrationV1 registration = 113;
|
||||||
|
|
||||||
// Capella objects.
|
// Capella objects.
|
||||||
ethereum.eth.v1alpha1.BeaconBlockCapella block_capella = 114;
|
ethereum.eth.v1alpha1.BeaconBlockCapella block_capella = 114;
|
||||||
ethereum.eth.v1alpha1.BlindedBeaconBlockCapella blinded_block_capella = 115;
|
ethereum.eth.v1alpha1.BlindedBeaconBlockCapella blinded_block_capella = 115;
|
||||||
|
|
||||||
// Deneb objects.
|
// Deneb objects.
|
||||||
ethereum.eth.v1alpha1.BeaconBlockDeneb block_deneb = 116;
|
ethereum.eth.v1alpha1.BeaconBlockDeneb block_deneb = 116;
|
||||||
ethereum.eth.v1alpha1.BlindedBeaconBlockDeneb blinded_block_deneb = 117;
|
ethereum.eth.v1alpha1.BlindedBeaconBlockDeneb blinded_block_deneb = 117;
|
||||||
|
|
||||||
// Electra objects.
|
// Electra objects.
|
||||||
ethereum.eth.v1alpha1.BeaconBlockElectra block_electra = 118;
|
ethereum.eth.v1alpha1.BeaconBlockElectra block_electra = 118;
|
||||||
ethereum.eth.v1alpha1.BlindedBeaconBlockElectra blinded_block_electra = 119;
|
ethereum.eth.v1alpha1.BlindedBeaconBlockElectra blinded_block_electra = 119;
|
||||||
ethereum.eth.v1alpha1.AggregateAttestationAndProofElectra aggregate_attestation_and_proof_electra = 120;
|
ethereum.eth.v1alpha1.AggregateAttestationAndProofElectra
|
||||||
|
aggregate_attestation_and_proof_electra = 120;
|
||||||
|
|
||||||
// Fulu objects.
|
// Fulu objects.
|
||||||
ethereum.eth.v1alpha1.BeaconBlockFulu block_fulu = 121;
|
ethereum.eth.v1alpha1.BeaconBlockFulu block_fulu = 121;
|
||||||
ethereum.eth.v1alpha1.BlindedBeaconBlockFulu blinded_block_fulu = 122;
|
ethereum.eth.v1alpha1.BlindedBeaconBlockFulu blinded_block_fulu = 122;
|
||||||
}
|
}
|
||||||
|
|
||||||
reserved 4, 5; // Reserving old, deleted fields.
|
reserved 4, 5; // Reserving old, deleted fields.
|
||||||
uint64 signing_slot = 6 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
uint64 signing_slot = 6 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
// SignResponse returned by a RemoteSigner gRPC service.
|
// SignResponse returned by a RemoteSigner gRPC service.
|
||||||
message SignResponse {
|
message SignResponse {
|
||||||
enum Status {
|
enum Status {
|
||||||
UNKNOWN = 0;
|
UNKNOWN = 0;
|
||||||
SUCCEEDED = 1;
|
SUCCEEDED = 1;
|
||||||
DENIED = 2;
|
DENIED = 2;
|
||||||
FAILED = 3;
|
FAILED = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// BLS12-381 signature for the data specified in the request.
|
// BLS12-381 signature for the data specified in the request.
|
||||||
bytes signature = 1;
|
bytes signature = 1;
|
||||||
|
|
||||||
// Status of the signing response, standardized as an enum
|
// Status of the signing response, standardized as an enum
|
||||||
// to ensure different remote signing servers follow the
|
// to ensure different remote signing servers follow the
|
||||||
// same conventions.
|
// same conventions.
|
||||||
Status status = 2;
|
Status status = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ProposerOptionPayload is a property of ProposerSettingsPayload
|
// ProposerOptionPayload is a property of ProposerSettingsPayload
|
||||||
@@ -103,11 +116,15 @@ message ProposerOptionPayload {
|
|||||||
// BuilderConfig is a property of ProposerOptionPayload
|
// BuilderConfig is a property of ProposerOptionPayload
|
||||||
message BuilderConfig {
|
message BuilderConfig {
|
||||||
bool enabled = 1;
|
bool enabled = 1;
|
||||||
uint64 gas_limit = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/validator.Uint64"];
|
uint64 gas_limit = 2 [
|
||||||
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/validator.Uint64"
|
||||||
|
];
|
||||||
repeated string relays = 3;
|
repeated string relays = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ProposerSettingsPayload is used to unmarshal files sent from the validator flag as well as safe to bolt db bucket
|
// ProposerSettingsPayload is used to unmarshal files sent from the validator
|
||||||
|
// flag as well as safe to bolt db bucket
|
||||||
message ProposerSettingsPayload {
|
message ProposerSettingsPayload {
|
||||||
map<string, ProposerOptionPayload> proposer_config = 1;
|
map<string, ProposerOptionPayload> proposer_config = 1;
|
||||||
ProposerOptionPayload default_config = 2;
|
ProposerOptionPayload default_config = 2;
|
||||||
|
|||||||
4
proto/prysm/v1alpha1/validator.pb.go
generated
4
proto/prysm/v1alpha1/validator.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/validator.proto
|
// source: proto/prysm/v1alpha1/validator.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
4
proto/prysm/v1alpha1/withdrawals.pb.go
generated
4
proto/prysm/v1alpha1/withdrawals.pb.go
generated
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.31.0
|
// protoc-gen-go v1.33.0
|
||||||
// protoc v4.25.1
|
// protoc v3.21.7
|
||||||
// source: proto/prysm/v1alpha1/withdrawals.proto
|
// source: proto/prysm/v1alpha1/withdrawals.proto
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|||||||
@@ -26,23 +26,24 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
|||||||
|
|
||||||
// The signed version of a BLSToExecutionChange
|
// The signed version of a BLSToExecutionChange
|
||||||
message SignedBLSToExecutionChange {
|
message SignedBLSToExecutionChange {
|
||||||
// The BLSToExecutionChange message itself
|
// The BLSToExecutionChange message itself
|
||||||
BLSToExecutionChange message = 1;
|
BLSToExecutionChange message = 1;
|
||||||
|
|
||||||
// The 96 byte BLS signature from the withdrawal address requesting the change
|
// The 96 byte BLS signature from the withdrawal address requesting the change
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// The message requesting a BLS to execution withdrawal credentials change
|
// The message requesting a BLS to execution withdrawal credentials change
|
||||||
message BLSToExecutionChange {
|
message BLSToExecutionChange {
|
||||||
// The validator index requesting the change
|
// The validator index requesting the change
|
||||||
uint64 validator_index = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
uint64 validator_index = 1
|
||||||
|
[ (ethereum.eth.ext.cast_type) =
|
||||||
// The public key of the BLS address requesting the change
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||||
bytes from_bls_pubkey = 2 [(ethereum.eth.ext.ssz_size) = "48"];
|
"primitives.ValidatorIndex" ];
|
||||||
|
|
||||||
// The new execution address to be the withdrawal credentials
|
|
||||||
bytes to_execution_address = 3 [(ethereum.eth.ext.ssz_size) = "20"];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// The public key of the BLS address requesting the change
|
||||||
|
bytes from_bls_pubkey = 2 [ (ethereum.eth.ext.ssz_size) = "48" ];
|
||||||
|
|
||||||
|
// The new execution address to be the withdrawal credentials
|
||||||
|
bytes to_execution_address = 3 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||||
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ extend google.protobuf.FieldOptions {
|
|||||||
|
|
||||||
message TestMessage {
|
message TestMessage {
|
||||||
string foo = 1;
|
string foo = 1;
|
||||||
string bar = 2 [(ssz_size) = "32", (spec_name) = "foo"];
|
string bar = 2 [ (ssz_size) = "32", (spec_name) = "foo" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message TestNestedMessage {
|
message TestNestedMessage {
|
||||||
@@ -46,9 +46,7 @@ message Person {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Our address book file is just one of these.
|
// Our address book file is just one of these.
|
||||||
message AddressBook {
|
message AddressBook { repeated Person people = 1; }
|
||||||
repeated Person people = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message TestSimpleMessage {
|
message TestSimpleMessage {
|
||||||
bytes foo = 1;
|
bytes foo = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user