mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-07 22:54:17 -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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/dbval/dbval.proto
|
||||
|
||||
package dbval
|
||||
|
||||
@@ -4,20 +4,25 @@ package ethereum.eth.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
|
||||
// the origin block used to checkpoint sync a node. There is only one BackfillStatus value in the database.
|
||||
// BackfillStatus is a value used to keep track of the progress of the process
|
||||
// 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 {
|
||||
// low_slot is the slot of the last block that backfill will attempt to download and import.
|
||||
// This is determined by MIN_EPOCHS_FOR_BLOCK_REQUESTS, or by a user-specified override.
|
||||
uint64 low_slot = 1;
|
||||
// low_root is the root of the last block that backfill will attempt to download and import.
|
||||
bytes low_root = 2;
|
||||
// low_parent_root is the parent_root of the block at low_root. This enables the backfill service to check
|
||||
// that a block is the direct ancestor of the block for low_root without an additional db lookup.
|
||||
bytes low_parent_root = 3;
|
||||
// origin_slot is the slot of the origin block, which is the block used to 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;
|
||||
// low_slot is the slot of the last block that backfill will attempt to
|
||||
// download and import. This is determined by MIN_EPOCHS_FOR_BLOCK_REQUESTS,
|
||||
// or by a user-specified override.
|
||||
uint64 low_slot = 1;
|
||||
// low_root is the root of the last block that backfill will attempt to
|
||||
// download and import.
|
||||
bytes low_root = 2;
|
||||
// low_parent_root is the parent_root of the block at low_root. This enables
|
||||
// the backfill service to check that a block is the direct ancestor of the
|
||||
// block for low_root without an additional db lookup.
|
||||
bytes low_parent_root = 3;
|
||||
// origin_slot is the slot of the origin block, which is the block used to
|
||||
// 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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/engine/v1/electra.proto
|
||||
|
||||
package enginev1
|
||||
|
||||
@@ -25,52 +25,59 @@ option java_outer_classname = "ElectraProto";
|
||||
option java_package = "org.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
|
||||
// new in Electra
|
||||
// WithdrawalRequest is the message from the execution layer to trigger the
|
||||
// withdrawal of a validator's balance to its withdrawal address new in Electra
|
||||
message WithdrawalRequest {
|
||||
// The execution address receiving the funds
|
||||
bytes source_address = 1 [(ethereum.eth.ext.ssz_size) = "20"];
|
||||
// The execution address receiving the funds
|
||||
bytes source_address = 1 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||
|
||||
// 48 byte BLS public key of the validator.
|
||||
bytes validator_pubkey = 2 [(ethereum.eth.ext.ssz_size) = "48"];
|
||||
// 48 byte BLS public key of the validator.
|
||||
bytes validator_pubkey = 2 [ (ethereum.eth.ext.ssz_size) = "48" ];
|
||||
|
||||
// Deposit amount in gwei.
|
||||
uint64 amount = 3;
|
||||
// Deposit amount in gwei.
|
||||
uint64 amount = 3;
|
||||
}
|
||||
|
||||
// DepositRequest is the message from the execution layer to trigger the deposit of a validator's balance to its balance
|
||||
// new in Electra
|
||||
// DepositRequest is the message from the execution layer to trigger the deposit
|
||||
// of a validator's balance to its balance new in Electra
|
||||
message DepositRequest {
|
||||
bytes pubkey = 1 [(ethereum.eth.ext.ssz_size) = "48"];
|
||||
bytes withdrawal_credentials = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
uint64 amount = 3;
|
||||
bytes signature = 4 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
uint64 index = 5;
|
||||
bytes pubkey = 1 [ (ethereum.eth.ext.ssz_size) = "48" ];
|
||||
bytes withdrawal_credentials = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
uint64 amount = 3;
|
||||
bytes signature = 4 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
uint64 index = 5;
|
||||
}
|
||||
|
||||
// ConsolidationRequest is the message from the execution layer to trigger the consolidation of one
|
||||
// validator to another validator.
|
||||
// ConsolidationRequest is the message from the execution layer to trigger the
|
||||
// consolidation of one validator to another validator.
|
||||
message ConsolidationRequest {
|
||||
// Source address of account which originated the request.
|
||||
bytes source_address = 1 [(ethereum.eth.ext.ssz_size) = "20"];
|
||||
// Funds will be moved from this public key.
|
||||
bytes source_pubkey = 2 [(ethereum.eth.ext.ssz_size) = "48"];
|
||||
// Funds will be moved to this public key.
|
||||
bytes target_pubkey = 3 [(ethereum.eth.ext.ssz_size) = "48"];
|
||||
// Source address of account which originated the request.
|
||||
bytes source_address = 1 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||
// Funds will be moved from this public key.
|
||||
bytes source_pubkey = 2 [ (ethereum.eth.ext.ssz_size) = "48" ];
|
||||
// Funds will be moved to this public key.
|
||||
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 {
|
||||
repeated DepositRequest deposits = 1 [(ethereum.eth.ext.ssz_max) = "max_deposit_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"];
|
||||
repeated DepositRequest deposits = 1
|
||||
[ (ethereum.eth.ext.ssz_max) = "max_deposit_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 {
|
||||
ExecutionPayloadDeneb payload = 1;
|
||||
bytes value = 2;
|
||||
BlobsBundle blobs_bundle = 3;
|
||||
bool should_override_builder = 4;
|
||||
repeated bytes execution_requests = 5;
|
||||
ExecutionPayloadDeneb payload = 1;
|
||||
bytes value = 2;
|
||||
BlobsBundle blobs_bundle = 3;
|
||||
bool should_override_builder = 4;
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/engine/v1/execution_engine.proto
|
||||
|
||||
package enginev1
|
||||
|
||||
@@ -25,206 +25,232 @@ option java_package = "org.ethereum.engine.v1";
|
||||
option php_namespace = "Ethereum\\Engine\\v1";
|
||||
|
||||
message ExecutionPayload {
|
||||
bytes parent_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes fee_recipient = 2 [(ethereum.eth.ext.ssz_size) = "20"];
|
||||
bytes state_root = 3 [(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 prev_randao = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
uint64 block_number = 7;
|
||||
uint64 gas_limit = 8;
|
||||
uint64 gas_used = 9;
|
||||
uint64 timestamp = 10;
|
||||
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 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"];
|
||||
bytes parent_hash = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
bytes fee_recipient = 2 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||
bytes state_root = 3 [ (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 prev_randao = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
uint64 block_number = 7;
|
||||
uint64 gas_limit = 8;
|
||||
uint64 gas_used = 9;
|
||||
uint64 timestamp = 10;
|
||||
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 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"
|
||||
];
|
||||
}
|
||||
|
||||
message ExecutionPayloadCapella {
|
||||
bytes parent_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes fee_recipient = 2 [(ethereum.eth.ext.ssz_size) = "20"];
|
||||
bytes state_root = 3 [(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 prev_randao = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
uint64 block_number = 7;
|
||||
uint64 gas_limit = 8;
|
||||
uint64 gas_used = 9;
|
||||
uint64 timestamp = 10;
|
||||
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 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"];
|
||||
// MAX_WITHDRAWALS_PER_PAYLOAD
|
||||
repeated Withdrawal withdrawals = 15 [(ethereum.eth.ext.ssz_max) = "withdrawal.size"]; // New in Capella.
|
||||
bytes parent_hash = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
bytes fee_recipient = 2 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||
bytes state_root = 3 [ (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 prev_randao = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
uint64 block_number = 7;
|
||||
uint64 gas_limit = 8;
|
||||
uint64 gas_used = 9;
|
||||
uint64 timestamp = 10;
|
||||
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 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"
|
||||
];
|
||||
// MAX_WITHDRAWALS_PER_PAYLOAD
|
||||
repeated Withdrawal withdrawals = 15
|
||||
[ (ethereum.eth.ext.ssz_max) = "withdrawal.size" ]; // New in Capella.
|
||||
}
|
||||
|
||||
message ExecutionPayloadDeneb {
|
||||
bytes parent_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes fee_recipient = 2 [(ethereum.eth.ext.ssz_size) = "20"];
|
||||
bytes state_root = 3 [(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 prev_randao = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
uint64 block_number = 7;
|
||||
uint64 gas_limit = 8;
|
||||
uint64 gas_used = 9;
|
||||
uint64 timestamp = 10;
|
||||
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 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"];
|
||||
// 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;
|
||||
bytes parent_hash = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
bytes fee_recipient = 2 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||
bytes state_root = 3 [ (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 prev_randao = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
uint64 block_number = 7;
|
||||
uint64 gas_limit = 8;
|
||||
uint64 gas_used = 9;
|
||||
uint64 timestamp = 10;
|
||||
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 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"
|
||||
];
|
||||
// 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 {
|
||||
ExecutionPayloadCapella payload = 1;
|
||||
bytes value = 2;
|
||||
ExecutionPayloadCapella payload = 1;
|
||||
bytes value = 2;
|
||||
}
|
||||
|
||||
message ExecutionPayloadDenebWithValueAndBlobsBundle {
|
||||
ExecutionPayloadDeneb payload = 1;
|
||||
bytes value = 2;
|
||||
BlobsBundle blobs_bundle = 3;
|
||||
bool should_override_builder = 4;
|
||||
ExecutionPayloadDeneb payload = 1;
|
||||
bytes value = 2;
|
||||
BlobsBundle blobs_bundle = 3;
|
||||
bool should_override_builder = 4;
|
||||
}
|
||||
|
||||
|
||||
message ExecutionPayloadHeader {
|
||||
bytes parent_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes fee_recipient = 2 [(ethereum.eth.ext.ssz_size) = "20"];
|
||||
bytes state_root = 3 [(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 prev_randao = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
uint64 block_number = 7;
|
||||
uint64 gas_limit = 8;
|
||||
uint64 gas_used = 9;
|
||||
uint64 timestamp = 10;
|
||||
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 block_hash = 13 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes transactions_root = 14 [(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 state_root = 3 [ (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 prev_randao = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
uint64 block_number = 7;
|
||||
uint64 gas_limit = 8;
|
||||
uint64 gas_used = 9;
|
||||
uint64 timestamp = 10;
|
||||
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 block_hash = 13 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
bytes transactions_root = 14 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
}
|
||||
|
||||
message ExecutionPayloadHeaderCapella {
|
||||
bytes parent_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes fee_recipient = 2 [(ethereum.eth.ext.ssz_size) = "20"];
|
||||
bytes state_root = 3 [(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 prev_randao = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
uint64 block_number = 7;
|
||||
uint64 gas_limit = 8;
|
||||
uint64 gas_used = 9;
|
||||
uint64 timestamp = 10;
|
||||
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 block_hash = 13 [(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 parent_hash = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
bytes fee_recipient = 2 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||
bytes state_root = 3 [ (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 prev_randao = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
uint64 block_number = 7;
|
||||
uint64 gas_limit = 8;
|
||||
uint64 gas_used = 9;
|
||||
uint64 timestamp = 10;
|
||||
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 block_hash = 13 [ (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.
|
||||
}
|
||||
|
||||
message ExecutionPayloadHeaderDeneb {
|
||||
bytes parent_hash = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes fee_recipient = 2 [(ethereum.eth.ext.ssz_size) = "20"];
|
||||
bytes state_root = 3 [(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 prev_randao = 6 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
uint64 block_number = 7;
|
||||
uint64 gas_limit = 8;
|
||||
uint64 gas_used = 9;
|
||||
uint64 timestamp = 10;
|
||||
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 block_hash = 13 [(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"];
|
||||
uint64 blob_gas_used = 16;
|
||||
uint64 excess_blob_gas = 17;
|
||||
bytes parent_hash = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
bytes fee_recipient = 2 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||
bytes state_root = 3 [ (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 prev_randao = 6 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
uint64 block_number = 7;
|
||||
uint64 gas_limit = 8;
|
||||
uint64 gas_used = 9;
|
||||
uint64 timestamp = 10;
|
||||
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 block_hash = 13 [ (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" ];
|
||||
uint64 blob_gas_used = 16;
|
||||
uint64 excess_blob_gas = 17;
|
||||
}
|
||||
|
||||
message PayloadAttributes {
|
||||
uint64 timestamp = 1;
|
||||
bytes prev_randao = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes suggested_fee_recipient = 3 [(ethereum.eth.ext.ssz_size) = "20"];
|
||||
uint64 timestamp = 1;
|
||||
bytes prev_randao = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
bytes suggested_fee_recipient = 3 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||
}
|
||||
|
||||
message PayloadAttributesV2 {
|
||||
uint64 timestamp = 1;
|
||||
bytes prev_randao = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
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.
|
||||
uint64 timestamp = 1;
|
||||
bytes prev_randao = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
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.
|
||||
}
|
||||
|
||||
message PayloadAttributesV3 {
|
||||
uint64 timestamp = 1;
|
||||
bytes prev_randao = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes suggested_fee_recipient = 3 [(ethereum.eth.ext.ssz_size) = "20"];
|
||||
repeated Withdrawal withdrawals = 4 [(ethereum.eth.ext.ssz_max) = "withdrawal.size"];
|
||||
bytes parent_beacon_block_root = 5 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
uint64 timestamp = 1;
|
||||
bytes prev_randao = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
bytes suggested_fee_recipient = 3 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||
repeated Withdrawal withdrawals = 4
|
||||
[ (ethereum.eth.ext.ssz_max) = "withdrawal.size" ];
|
||||
bytes parent_beacon_block_root = 5 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
}
|
||||
|
||||
message PayloadStatus {
|
||||
Status status = 1;
|
||||
bytes latest_valid_hash = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
string validation_error = 3;
|
||||
enum Status {
|
||||
UNKNOWN = 0;
|
||||
VALID = 1;
|
||||
INVALID = 2;
|
||||
SYNCING = 3;
|
||||
ACCEPTED = 4;
|
||||
INVALID_BLOCK_HASH = 5;
|
||||
}
|
||||
Status status = 1;
|
||||
bytes latest_valid_hash = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
string validation_error = 3;
|
||||
enum Status {
|
||||
UNKNOWN = 0;
|
||||
VALID = 1;
|
||||
INVALID = 2;
|
||||
SYNCING = 3;
|
||||
ACCEPTED = 4;
|
||||
INVALID_BLOCK_HASH = 5;
|
||||
}
|
||||
}
|
||||
|
||||
message ForkchoiceState {
|
||||
bytes head_block_hash = 1 [(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 head_block_hash = 1 [ (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" ];
|
||||
}
|
||||
|
||||
// The withdrawal receipt with the recipient address and amount withdrawn
|
||||
message Withdrawal {
|
||||
// Withdrawal index for accounting purposes
|
||||
uint64 index = 1;
|
||||
// Withdrawal index for accounting purposes
|
||||
uint64 index = 1;
|
||||
|
||||
// Validator index for the withdrawal
|
||||
uint64 validator_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
||||
// Validator index for the withdrawal
|
||||
uint64 validator_index = 2
|
||||
[ (ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||
"primitives.ValidatorIndex" ];
|
||||
|
||||
// The execution address receiving the funds
|
||||
bytes address = 3 [(ethereum.eth.ext.ssz_size) = "20"];
|
||||
// The execution address receiving the funds
|
||||
bytes address = 3 [ (ethereum.eth.ext.ssz_size) = "20" ];
|
||||
|
||||
// The withdrawn amount in Gwei
|
||||
uint64 amount = 4;
|
||||
// The withdrawn amount in Gwei
|
||||
uint64 amount = 4;
|
||||
}
|
||||
|
||||
// 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 {
|
||||
// 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"];
|
||||
// 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"
|
||||
];
|
||||
|
||||
// The proofs of the blobs.
|
||||
repeated bytes proofs = 2 [(ethereum.eth.ext.ssz_size) = "?,48", (ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"];
|
||||
// The proofs of the blobs.
|
||||
repeated bytes proofs = 2 [
|
||||
(ethereum.eth.ext.ssz_size) = "?,48",
|
||||
(ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"
|
||||
];
|
||||
|
||||
// The blobs itself.
|
||||
repeated bytes blobs = 3 [(ethereum.eth.ext.ssz_size) = "?,blob.size", (ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"];
|
||||
// The blobs itself.
|
||||
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.
|
||||
message Blob {
|
||||
// The blob bytes.
|
||||
bytes data = 1 [(ethereum.eth.ext.ssz_size) = "blob.size"];
|
||||
// The blob bytes.
|
||||
bytes data = 1 [ (ethereum.eth.ext.ssz_size) = "blob.size" ];
|
||||
}
|
||||
|
||||
message BlobAndProof {
|
||||
bytes blob = 1 [(ethereum.eth.ext.ssz_size) = "blob.size"];
|
||||
bytes kzg_proof = 2 [(ethereum.eth.ext.ssz_size) = "48"];
|
||||
bytes blob = 1 [ (ethereum.eth.ext.ssz_size) = "blob.size" ];
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/eth/ext/options.proto
|
||||
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/eth/v1/attestation.proto
|
||||
|
||||
package v1
|
||||
|
||||
@@ -26,62 +26,79 @@ option java_package = "org.ethereum.eth.v1";
|
||||
option php_namespace = "Ethereum\\Eth\\v1";
|
||||
|
||||
message Attestation {
|
||||
// A bitfield representation of validator indices that have voted exactly
|
||||
// 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"];
|
||||
// A bitfield representation of validator indices that have voted exactly
|
||||
// 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"
|
||||
];
|
||||
|
||||
AttestationData data = 2;
|
||||
AttestationData data = 2;
|
||||
|
||||
// 96 byte BLS aggregate signature.
|
||||
bytes signature = 3 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 byte BLS aggregate signature.
|
||||
bytes signature = 3 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
message AggregateAttestationAndProof {
|
||||
// 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"];
|
||||
// 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" ];
|
||||
|
||||
// The aggregated attestation that was submitted.
|
||||
Attestation aggregate = 3;
|
||||
// The aggregated attestation that was submitted.
|
||||
Attestation aggregate = 3;
|
||||
|
||||
// 96 byte selection proof signed by the aggregator, which is the signature of the slot to aggregate.
|
||||
bytes selection_proof = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 byte selection proof signed by the aggregator, which is the signature of
|
||||
// the slot to aggregate.
|
||||
bytes selection_proof = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
message SignedAggregateAttestationAndProof {
|
||||
// The aggregated attestation and selection proof itself.
|
||||
AggregateAttestationAndProof message = 1;
|
||||
// The aggregated attestation and selection proof itself.
|
||||
AggregateAttestationAndProof message = 1;
|
||||
|
||||
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
||||
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
message AttestationData {
|
||||
// Attestation data includes information on Casper the Friendly Finality Gadget's votes
|
||||
// See: https://arxiv.org/pdf/1710.09437.pdf
|
||||
// Attestation data includes information on Casper the Friendly Finality
|
||||
// Gadget's votes See: https://arxiv.org/pdf/1710.09437.pdf
|
||||
|
||||
// Slot of the attestation attesting for.
|
||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
||||
// Slot of the attestation attesting for.
|
||||
uint64 slot = 1 [
|
||||
(ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||
];
|
||||
|
||||
// The committee index that submitted this attestation.
|
||||
uint64 index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.CommitteeIndex"];
|
||||
// The committee index that submitted this attestation.
|
||||
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.
|
||||
bytes beacon_block_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// 32 byte root of the LMD GHOST block vote.
|
||||
bytes beacon_block_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
|
||||
// The most recent justified checkpoint in the beacon state
|
||||
Checkpoint source = 4;
|
||||
// The most recent justified checkpoint in the beacon state
|
||||
Checkpoint source = 4;
|
||||
|
||||
// The checkpoint attempting to be justified for the current epoch and its epoch boundary block
|
||||
Checkpoint target = 5;
|
||||
// The checkpoint attempting to be justified for the current epoch and its
|
||||
// epoch boundary block
|
||||
Checkpoint target = 5;
|
||||
}
|
||||
|
||||
message Checkpoint {
|
||||
// A checkpoint is every epoch's first slot. The goal of Casper FFG
|
||||
// is to link the check points together for justification and finalization.
|
||||
// A checkpoint is every epoch's first slot. The goal of Casper FFG
|
||||
// is to link the check points together for justification and finalization.
|
||||
|
||||
// Epoch the checkpoint references.
|
||||
uint64 epoch = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
||||
// Epoch the checkpoint references.
|
||||
uint64 epoch = 1 [
|
||||
(ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||
];
|
||||
|
||||
// Block root of the checkpoint references.
|
||||
bytes root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// Block root of the checkpoint references.
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/eth/v1/beacon_block.proto
|
||||
|
||||
package v1
|
||||
|
||||
@@ -26,140 +26,158 @@ option java_outer_classname = "BeaconBlockProto";
|
||||
option java_package = "org.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 {
|
||||
// Beacon chain slot that this block represents.
|
||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
||||
// Beacon chain slot that this block represents.
|
||||
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.
|
||||
uint64 proposer_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
||||
// 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" ];
|
||||
|
||||
// 32 byte root of the parent block.
|
||||
bytes parent_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// 32 byte root of the parent block.
|
||||
bytes parent_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
|
||||
// 32 byte root of the resulting state after processing this block.
|
||||
bytes state_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// 32 byte root of the resulting state after processing this block.
|
||||
bytes state_root = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
|
||||
// The block body itself.
|
||||
BeaconBlockBody body = 5;
|
||||
// The block body itself.
|
||||
BeaconBlockBody body = 5;
|
||||
}
|
||||
|
||||
// The signed version of beacon block.
|
||||
message SignedBeaconBlock {
|
||||
// The unsigned beacon block itself.
|
||||
BeaconBlock block = 1;
|
||||
// The unsigned beacon block itself.
|
||||
BeaconBlock block = 1;
|
||||
|
||||
// 96 byte BLS signature from the validator that produced this block.
|
||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 byte BLS signature from the validator that produced this block.
|
||||
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
// The block body of an Ethereum consensus beacon block.
|
||||
message BeaconBlockBody {
|
||||
// The validators RANDAO reveal 96 byte value.
|
||||
bytes randao_reveal = 1 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// The validators RANDAO reveal 96 byte value.
|
||||
bytes randao_reveal = 1 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
|
||||
// A reference to the Ethereum 1.x chain.
|
||||
Eth1Data eth1_data = 2;
|
||||
// A reference to the Ethereum 1.x chain.
|
||||
Eth1Data eth1_data = 2;
|
||||
|
||||
// 32 byte field of arbitrary data. This field may contain any data and
|
||||
// is not used for anything other than a fun message.
|
||||
bytes graffiti = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// 32 byte field of arbitrary data. This field may contain any data and
|
||||
// is not used for anything other than a fun message.
|
||||
bytes graffiti = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
|
||||
// Block operations
|
||||
// Refer to spec constants at https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#max-operations-per-block
|
||||
// Block operations
|
||||
// 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.
|
||||
repeated ProposerSlashing proposer_slashings = 4 [(ethereum.eth.ext.ssz_max) = "16"];
|
||||
// At most MAX_PROPOSER_SLASHINGS.
|
||||
repeated ProposerSlashing proposer_slashings = 4
|
||||
[ (ethereum.eth.ext.ssz_max) = "16" ];
|
||||
|
||||
// At most MAX_ATTESTER_SLASHINGS.
|
||||
repeated AttesterSlashing attester_slashings = 5 [(ethereum.eth.ext.ssz_max) = "2"];
|
||||
// At most MAX_ATTESTER_SLASHINGS.
|
||||
repeated AttesterSlashing attester_slashings = 5
|
||||
[ (ethereum.eth.ext.ssz_max) = "2" ];
|
||||
|
||||
// At most MAX_ATTESTATIONS.
|
||||
repeated Attestation attestations = 6 [(ethereum.eth.ext.ssz_max) = "128"];
|
||||
// At most MAX_ATTESTATIONS.
|
||||
repeated Attestation attestations = 6 [ (ethereum.eth.ext.ssz_max) = "128" ];
|
||||
|
||||
// At most MAX_DEPOSITS.
|
||||
repeated Deposit deposits = 7 [(ethereum.eth.ext.ssz_max) = "16"];
|
||||
// At most MAX_DEPOSITS.
|
||||
repeated Deposit deposits = 7 [ (ethereum.eth.ext.ssz_max) = "16" ];
|
||||
|
||||
// At most MAX_VOLUNTARY_EXITS.
|
||||
repeated SignedVoluntaryExit voluntary_exits = 8 [(ethereum.eth.ext.ssz_max) = "16"];
|
||||
// At most MAX_VOLUNTARY_EXITS.
|
||||
repeated SignedVoluntaryExit voluntary_exits = 8
|
||||
[ (ethereum.eth.ext.ssz_max) = "16" ];
|
||||
}
|
||||
|
||||
// Proposer slashings are proofs that a slashable offense has been committed by
|
||||
// proposing two conflicting blocks from the same validator.
|
||||
message ProposerSlashing {
|
||||
// First conflicting signed block header.
|
||||
SignedBeaconBlockHeader signed_header_1 = 2;
|
||||
// First conflicting signed block header.
|
||||
SignedBeaconBlockHeader signed_header_1 = 2;
|
||||
|
||||
// Second conflicting signed block header.
|
||||
SignedBeaconBlockHeader signed_header_2 = 3;
|
||||
// Second conflicting signed block header.
|
||||
SignedBeaconBlockHeader signed_header_2 = 3;
|
||||
}
|
||||
|
||||
// Attestor slashings are proofs that a slashable offense has been committed by
|
||||
// attesting to two conflicting pieces of information by the same validator.
|
||||
message AttesterSlashing {
|
||||
// First conflicting attestation.
|
||||
IndexedAttestation attestation_1 = 1;
|
||||
// First conflicting attestation.
|
||||
IndexedAttestation attestation_1 = 1;
|
||||
|
||||
// Second conflicting attestation.
|
||||
IndexedAttestation attestation_2 = 2;
|
||||
// Second conflicting attestation.
|
||||
IndexedAttestation attestation_2 = 2;
|
||||
}
|
||||
|
||||
// Deposit into the Ethereum consensus from the Ethereum 1.x deposit contract.
|
||||
message Deposit {
|
||||
message Data {
|
||||
// 48 byte BLS public key of the validator.
|
||||
bytes pubkey = 1 [(ethereum.eth.ext.ssz_size) = "48", (ethereum.eth.ext.spec_name) = "pubkey"];
|
||||
message Data {
|
||||
// 48 byte BLS public key of the validator.
|
||||
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.
|
||||
bytes withdrawal_credentials = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// A 32 byte hash of the withdrawal address public key.
|
||||
bytes withdrawal_credentials = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
|
||||
// Deposit amount in gwei.
|
||||
uint64 amount = 3;
|
||||
// Deposit amount in gwei.
|
||||
uint64 amount = 3;
|
||||
|
||||
// 96 byte signature from the validators public key.
|
||||
bytes signature = 4 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
}
|
||||
// 96 byte signature from the validators public key.
|
||||
bytes signature = 4 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
// 32 byte roots in the deposit tree branch.
|
||||
repeated bytes proof = 1 [(ethereum.eth.ext.ssz_size) = "33,32"];
|
||||
// 32 byte roots in the deposit tree branch.
|
||||
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
|
||||
// withdraw from the active validator set. The message does not contain a
|
||||
// validator signature.
|
||||
message VoluntaryExit {
|
||||
// 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"];
|
||||
// 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"
|
||||
];
|
||||
|
||||
// Index of the exiting validator.
|
||||
uint64 validator_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
||||
// Index of the exiting validator.
|
||||
uint64 validator_index = 2
|
||||
[ (ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||
"primitives.ValidatorIndex" ];
|
||||
}
|
||||
|
||||
// The signed version of voluntary exit.
|
||||
message SignedVoluntaryExit {
|
||||
// The unsigned voluntary exit itself.
|
||||
VoluntaryExit message = 1;
|
||||
// The unsigned voluntary exit itself.
|
||||
VoluntaryExit message = 1;
|
||||
|
||||
// Validator's 96 byte signature
|
||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// Validator's 96 byte signature
|
||||
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
// Eth1Data represents references to the Ethereum 1.x deposit contract.
|
||||
message Eth1Data {
|
||||
// The 32 byte deposit tree root for the last deposit included in this
|
||||
// block.
|
||||
bytes deposit_root = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// The 32 byte deposit tree root for the last deposit included in this
|
||||
// block.
|
||||
bytes deposit_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
|
||||
// The total number of deposits included in the beacon chain since genesis
|
||||
// including the deposits in this block.
|
||||
uint64 deposit_count = 2;
|
||||
// The total number of deposits included in the beacon chain since genesis
|
||||
// including the deposits in this block.
|
||||
uint64 deposit_count = 2;
|
||||
|
||||
// The 32 byte block hash of the Ethereum 1.x block considered for deposit
|
||||
// inclusion.
|
||||
bytes block_hash = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// The 32 byte block hash of the Ethereum 1.x block considered for deposit
|
||||
// inclusion.
|
||||
bytes block_hash = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
}
|
||||
|
||||
// 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
|
||||
// a validator signature.
|
||||
message BeaconBlockHeader {
|
||||
// Beacon chain slot that this block represents.
|
||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
||||
// Beacon chain slot that this block represents.
|
||||
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.
|
||||
uint64 proposer_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
||||
// 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" ];
|
||||
|
||||
// 32 byte merkle tree root of the parent ssz encoded block.
|
||||
bytes parent_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// 32 byte merkle tree root of the parent ssz encoded block.
|
||||
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.
|
||||
bytes state_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// 32 byte merkle tree root of the resulting ssz encoded state after
|
||||
// processing this block.
|
||||
bytes state_root = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
|
||||
// 32 byte merkle tree root of the ssz encoded block body.
|
||||
bytes body_root = 5 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// 32 byte merkle tree root of the ssz encoded block body.
|
||||
bytes body_root = 5 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
}
|
||||
|
||||
message SignedBeaconBlockHeader {
|
||||
// The unsigned beacon block header itself.
|
||||
BeaconBlockHeader message = 1;
|
||||
// The unsigned beacon block header itself.
|
||||
BeaconBlockHeader message = 1;
|
||||
|
||||
// 96 byte BLS signature from the validator that produced this block header.
|
||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 byte BLS signature from the validator that produced this block header.
|
||||
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
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.
|
||||
bytes signature = 3 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 bytes aggregate signature.
|
||||
bytes signature = 3 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
// The sync aggregate object for the beacon chain to track sync committee votes and to
|
||||
// support light client infra.
|
||||
// The sync aggregate object for the beacon chain to track sync committee votes
|
||||
// and to support light client infra.
|
||||
message SyncAggregate {
|
||||
// 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"];
|
||||
// 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"
|
||||
];
|
||||
|
||||
// BLS aggregated signature of the sync committee for the ones that voted.
|
||||
bytes sync_committee_signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// BLS aggregated signature of the sync committee for the ones that voted.
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/eth/v1/beacon_chain.proto
|
||||
|
||||
package v1
|
||||
|
||||
@@ -27,7 +27,8 @@ option php_namespace = "Ethereum\\Eth\\v1";
|
||||
// Beacon State API related messages.
|
||||
|
||||
message StateRequest {
|
||||
// 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>.
|
||||
bytes state_id = 1;
|
||||
// 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>.
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/eth/v1/events.proto
|
||||
|
||||
package v1
|
||||
|
||||
@@ -27,22 +27,25 @@ option php_namespace = "Ethereum\\Eth\\v1";
|
||||
|
||||
message EventHead {
|
||||
// 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.
|
||||
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.
|
||||
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.
|
||||
bool epoch_transition = 4;
|
||||
|
||||
// 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.
|
||||
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.
|
||||
bool execution_optimistic = 7;
|
||||
@@ -50,10 +53,13 @@ message EventHead {
|
||||
|
||||
message EventBlock {
|
||||
// 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.
|
||||
bytes block = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes block = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
|
||||
// Information about optimistic sync.
|
||||
bool execution_optimistic = 3;
|
||||
@@ -61,25 +67,31 @@ message EventBlock {
|
||||
|
||||
message EventChainReorg {
|
||||
// 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.
|
||||
uint64 depth = 2;
|
||||
|
||||
// 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.
|
||||
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.
|
||||
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.
|
||||
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.
|
||||
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.
|
||||
bool execution_optimistic = 8;
|
||||
@@ -87,13 +99,16 @@ message EventChainReorg {
|
||||
|
||||
message EventFinalizedCheckpoint {
|
||||
// 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.
|
||||
bytes state = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes state = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
|
||||
// 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.
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/eth/v1/node.proto
|
||||
|
||||
package v1
|
||||
|
||||
@@ -33,7 +33,8 @@ message Peer {
|
||||
// The address of the peer, as a full multiaddr, for example:
|
||||
// /ip4/37.221.192.134/tcp/13000/p2p/16Uiu2HAm8maLMjag1TAUM52zPfmLbVMGFdwUAWgoHu1HDQLR6e17
|
||||
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;
|
||||
// The direction of the connection (inbound/outbound).
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/eth/v1/validator.proto
|
||||
|
||||
package v1
|
||||
|
||||
@@ -29,69 +29,88 @@ option php_namespace = "Ethereum\\Eth\\v1";
|
||||
|
||||
// An Ethereum validator.
|
||||
message Validator {
|
||||
// 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"];
|
||||
// 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"
|
||||
];
|
||||
|
||||
// 32 byte hash of the withdrawal destination public key.
|
||||
bytes withdrawal_credentials = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// 32 byte hash of the withdrawal destination public key.
|
||||
bytes withdrawal_credentials = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
|
||||
// The validators current effective balance in gwei.
|
||||
uint64 effective_balance = 3;
|
||||
// The validators current effective balance in gwei.
|
||||
uint64 effective_balance = 3;
|
||||
|
||||
// Whether or not the validator has been slashed.
|
||||
bool slashed = 4;
|
||||
// Whether or not the validator has been slashed.
|
||||
bool slashed = 4;
|
||||
|
||||
// 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
|
||||
// field is FAR_FUTURE_EPOCH if the validator has not been activated.
|
||||
uint64 activation_eligibility_epoch = 5 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
||||
// 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 field is FAR_FUTURE_EPOCH if the validator has not been
|
||||
// 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
|
||||
// validator was present in the Ethereum proof of stake genesis. This field is
|
||||
// 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"];
|
||||
// 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
|
||||
// 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"
|
||||
];
|
||||
|
||||
// Epoch when the validator was exited. This field is FAR_FUTURE_EPOCH if
|
||||
// the validator has not exited.
|
||||
// FAR_FUTURE_EPOCH is a constant defined by the official Ethereum Beacon Chain specification:
|
||||
// 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 was exited. This field is FAR_FUTURE_EPOCH if
|
||||
// the validator has not exited.
|
||||
// FAR_FUTURE_EPOCH is a constant defined by the official Ethereum Beacon
|
||||
// Chain specification:
|
||||
// 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
|
||||
// is FAR_FUTURE_EPOCH if the validator has not exited.
|
||||
// FAR_FUTURE_EPOCH is a constant defined by the official Ethereum Beacon Chain specification:
|
||||
// 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"];
|
||||
// Epoch when the validator is eligible to withdraw their funds. This field
|
||||
// is FAR_FUTURE_EPOCH if the validator has not exited.
|
||||
// FAR_FUTURE_EPOCH is a constant defined by the official Ethereum Beacon
|
||||
// Chain specification:
|
||||
// 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 {
|
||||
PENDING_INITIALIZED = 0;
|
||||
PENDING_QUEUED = 1;
|
||||
ACTIVE_ONGOING = 2;
|
||||
ACTIVE_EXITING = 3;
|
||||
ACTIVE_SLASHED = 4;
|
||||
EXITED_UNSLASHED = 5;
|
||||
EXITED_SLASHED = 6;
|
||||
WITHDRAWAL_POSSIBLE = 7;
|
||||
WITHDRAWAL_DONE = 8;
|
||||
ACTIVE = 9;
|
||||
PENDING = 10;
|
||||
EXITED = 11;
|
||||
WITHDRAWAL = 12;
|
||||
PENDING_INITIALIZED = 0;
|
||||
PENDING_QUEUED = 1;
|
||||
ACTIVE_ONGOING = 2;
|
||||
ACTIVE_EXITING = 3;
|
||||
ACTIVE_SLASHED = 4;
|
||||
EXITED_UNSLASHED = 5;
|
||||
EXITED_SLASHED = 6;
|
||||
WITHDRAWAL_POSSIBLE = 7;
|
||||
WITHDRAWAL_DONE = 8;
|
||||
ACTIVE = 9;
|
||||
PENDING = 10;
|
||||
EXITED = 11;
|
||||
WITHDRAWAL = 12;
|
||||
}
|
||||
|
||||
message ProduceBlockRequest {
|
||||
// The slot to request a block for.
|
||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
||||
// The slot to request a block for.
|
||||
uint64 slot = 1 [
|
||||
(ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||
];
|
||||
|
||||
// The validators RANDAO reveal 96 byte value.
|
||||
bytes randao_reveal = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// The validators RANDAO reveal 96 byte value.
|
||||
bytes randao_reveal = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
|
||||
// 32 byte field of arbitrary data. This field may contain any data and
|
||||
// is not used for anything other than a fun message.
|
||||
optional bytes graffiti = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// 32 byte field of arbitrary data. This field may contain any data and
|
||||
// is not used for anything other than a fun message.
|
||||
optional bytes graffiti = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
}
|
||||
|
||||
message ProduceBlockResponse {
|
||||
BeaconBlock data = 1;
|
||||
}
|
||||
message ProduceBlockResponse { 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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/attestation.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -29,64 +29,82 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
message SignedAggregateAttestationAndProof {
|
||||
// The aggregated attestation and selection proof itself.
|
||||
AggregateAttestationAndProof message = 1;
|
||||
// The aggregated attestation and selection proof itself.
|
||||
AggregateAttestationAndProof message = 1;
|
||||
|
||||
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
||||
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
message AggregateAttestationAndProof {
|
||||
// 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"];
|
||||
// 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" ];
|
||||
|
||||
// The aggregated attestation that was submitted.
|
||||
Attestation aggregate = 3;
|
||||
// The aggregated attestation that was submitted.
|
||||
Attestation aggregate = 3;
|
||||
|
||||
// 96 byte selection proof signed by the aggregator, which is the signature of the slot to aggregate.
|
||||
bytes selection_proof = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 byte selection proof signed by the aggregator, which is the signature of
|
||||
// the slot to aggregate.
|
||||
bytes selection_proof = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
message Attestation {
|
||||
// A bitfield representation of validator indices that have voted exactly
|
||||
// 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"];
|
||||
// A bitfield representation of validator indices that have voted exactly
|
||||
// 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"
|
||||
];
|
||||
|
||||
AttestationData data = 2;
|
||||
AttestationData data = 2;
|
||||
|
||||
// 96 byte BLS aggregate signature.
|
||||
bytes signature = 3 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 byte BLS aggregate signature.
|
||||
bytes signature = 3 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
message AttestationData {
|
||||
// Attestation data includes information on Casper the Friendly Finality Gadget's votes
|
||||
// See: https://arxiv.org/pdf/1710.09437.pdf
|
||||
// Attestation data includes information on Casper the Friendly Finality
|
||||
// Gadget's votes See: https://arxiv.org/pdf/1710.09437.pdf
|
||||
|
||||
// Slot of the attestation attesting for.
|
||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
||||
// Slot of the attestation attesting for.
|
||||
uint64 slot = 1 [
|
||||
(ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||
];
|
||||
|
||||
// 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"];
|
||||
// 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" ];
|
||||
|
||||
// 32 byte root of the LMD GHOST block vote.
|
||||
bytes beacon_block_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// 32 byte root of the LMD GHOST block vote.
|
||||
bytes beacon_block_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
|
||||
// The most recent justified checkpoint in the beacon state
|
||||
Checkpoint source = 4;
|
||||
// The most recent justified checkpoint in the beacon state
|
||||
Checkpoint source = 4;
|
||||
|
||||
// The checkpoint attempting to be justified for the current epoch and its epoch boundary block
|
||||
Checkpoint target = 5;
|
||||
// The checkpoint attempting to be justified for the current epoch and its
|
||||
// epoch boundary block
|
||||
Checkpoint target = 5;
|
||||
}
|
||||
|
||||
message Checkpoint {
|
||||
// A checkpoint is every epoch's first slot. The goal of Casper FFG
|
||||
// is to link the check points together for justification and finalization.
|
||||
// A checkpoint is every epoch's first slot. The goal of Casper FFG
|
||||
// is to link the check points together for justification and finalization.
|
||||
|
||||
// Epoch the checkpoint references.
|
||||
uint64 epoch = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"];
|
||||
// Epoch the checkpoint references.
|
||||
uint64 epoch = 1 [
|
||||
(ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||
];
|
||||
|
||||
// Block root of the checkpoint references.
|
||||
bytes root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// Block root of the checkpoint references.
|
||||
bytes root = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -94,60 +112,79 @@ message Checkpoint {
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
message SignedAggregateAttestationAndProofElectra {
|
||||
// The aggregated attestation and selection proof itself.
|
||||
AggregateAttestationAndProofElectra message = 1;
|
||||
// The aggregated attestation and selection proof itself.
|
||||
AggregateAttestationAndProofElectra message = 1;
|
||||
|
||||
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
||||
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
message AggregateAttestationAndProofElectra {
|
||||
// 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"];
|
||||
// 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" ];
|
||||
|
||||
// The aggregated attestation that was submitted.
|
||||
AttestationElectra aggregate = 3;
|
||||
// The aggregated attestation that was submitted.
|
||||
AttestationElectra aggregate = 3;
|
||||
|
||||
// 96 byte selection proof signed by the aggregator, which is the signature of the slot to aggregate.
|
||||
bytes selection_proof = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 byte selection proof signed by the aggregator, which is the signature of
|
||||
// the slot to aggregate.
|
||||
bytes selection_proof = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
message AttestationElectra {
|
||||
// A bitfield representation of validator indices that have voted exactly
|
||||
// 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"];
|
||||
// A bitfield representation of validator indices that have voted exactly
|
||||
// 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"
|
||||
];
|
||||
|
||||
AttestationData data = 2;
|
||||
AttestationData data = 2;
|
||||
|
||||
// 96 byte BLS aggregate signature.
|
||||
bytes signature = 3 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 byte BLS aggregate signature.
|
||||
bytes signature = 3 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
|
||||
// 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"];
|
||||
// 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"
|
||||
];
|
||||
}
|
||||
|
||||
message SignedAggregateAttestationAndProofSingle {
|
||||
// The aggregated attestation and selection proof itself.
|
||||
AggregateAttestationAndProofSingle message = 1;
|
||||
// The aggregated attestation and selection proof itself.
|
||||
AggregateAttestationAndProofSingle message = 1;
|
||||
|
||||
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 byte BLS aggregate signature signed by the aggregator over the message.
|
||||
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
message AggregateAttestationAndProofSingle {
|
||||
// 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"];
|
||||
// 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" ];
|
||||
|
||||
// The aggregated attestation that was submitted.
|
||||
SingleAttestation aggregate = 3;
|
||||
// The aggregated attestation that was submitted.
|
||||
SingleAttestation aggregate = 3;
|
||||
|
||||
// 96 byte selection proof signed by the aggregator, which is the signature of the slot to aggregate.
|
||||
bytes selection_proof = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// 96 byte selection proof signed by the aggregator, which is the signature of
|
||||
// the slot to aggregate.
|
||||
bytes selection_proof = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
message SingleAttestation {
|
||||
uint64 committee_id = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.CommitteeIndex"];
|
||||
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"];
|
||||
uint64 committee_id = 1 [ (ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/"
|
||||
"consensus-types/primitives.CommitteeIndex" ];
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/beacon_block.proto
|
||||
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/beacon_chain.proto
|
||||
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/beacon_state.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -23,63 +23,96 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
message BeaconState {
|
||||
// Versioning [1001-2000]
|
||||
uint64 genesis_time = 1001;
|
||||
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"];
|
||||
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"
|
||||
];
|
||||
Fork fork = 1004;
|
||||
|
||||
// History [2001-3000]
|
||||
BeaconBlockHeader latest_block_header = 2001;
|
||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
||||
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"];
|
||||
repeated bytes block_roots = 2002
|
||||
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||
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]
|
||||
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;
|
||||
|
||||
// Registry [4001-5000]
|
||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated Validator validators = 4001
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
repeated uint64 balances = 4002
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
|
||||
// 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]
|
||||
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]
|
||||
repeated PendingAttestation previous_epoch_attestations = 7001 [(ethereum.eth.ext.ssz_max) = "previous_epoch_attestations.max"];
|
||||
repeated PendingAttestation current_epoch_attestations = 7002 [(ethereum.eth.ext.ssz_max) = "current_epoch_attestations.max"];
|
||||
repeated PendingAttestation previous_epoch_attestations = 7001
|
||||
[ (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]
|
||||
// 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 current_justified_checkpoint = 8003;
|
||||
Checkpoint finalized_checkpoint = 8004;
|
||||
}
|
||||
|
||||
message Fork {
|
||||
bytes previous_version = 1 [(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"];
|
||||
bytes previous_version = 1 [ (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"
|
||||
];
|
||||
}
|
||||
|
||||
message PendingAttestation {
|
||||
// Bitfield representation of validator indices that have voted exactly
|
||||
// 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;
|
||||
// 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.
|
||||
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 {
|
||||
repeated bytes block_roots = 1 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
||||
repeated bytes state_roots = 2 [(ethereum.eth.ext.ssz_size) = "state_roots.size"];
|
||||
repeated bytes block_roots = 1
|
||||
[ (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
|
||||
@@ -88,29 +121,34 @@ message HistoricalBatch {
|
||||
// and blocks.
|
||||
message StateSummary {
|
||||
// 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.
|
||||
bytes root = 2;
|
||||
}
|
||||
|
||||
message SigningData {
|
||||
// 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.
|
||||
bytes domain = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes domain = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
}
|
||||
|
||||
message ForkData {
|
||||
// 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.
|
||||
bytes genesis_validators_root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes genesis_validators_root = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
}
|
||||
|
||||
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;
|
||||
// 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;
|
||||
// Validators that were active at that check point.
|
||||
repeated uint64 active_indices = 3;
|
||||
@@ -120,28 +158,31 @@ message CheckPtInfo {
|
||||
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 {
|
||||
// 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.
|
||||
bytes withdrawal_credentials = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes withdrawal_credentials = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
|
||||
// Deposit amount in gwei.
|
||||
uint64 amount = 3;
|
||||
}
|
||||
|
||||
// PowBlock is a definition from Bellatrix fork choice spec to represent a block with total difficulty in the PoW chain.
|
||||
// Spec:
|
||||
// class PowBlock(Container):
|
||||
// PowBlock is a definition from Bellatrix fork choice spec to represent a block
|
||||
// with total difficulty in the PoW chain. Spec: class PowBlock(Container):
|
||||
// block_hash: Hash32
|
||||
// parent_hash: Hash32
|
||||
// total_difficulty: uint256
|
||||
message PowBlock {
|
||||
bytes block_hash = 1 [(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 block_hash = 1 [ (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" ];
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -149,62 +190,91 @@ message PowBlock {
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// 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 {
|
||||
// Versioning [1001-2000]
|
||||
uint64 genesis_time = 1001;
|
||||
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"];
|
||||
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"
|
||||
];
|
||||
Fork fork = 1004;
|
||||
|
||||
// History [2001-3000]
|
||||
BeaconBlockHeader latest_block_header = 2001;
|
||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
||||
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"];
|
||||
repeated bytes block_roots = 2002
|
||||
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||
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]
|
||||
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;
|
||||
|
||||
// Registry [4001-5000]
|
||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated Validator validators = 4001
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
repeated uint64 balances = 4002
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
|
||||
// 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]
|
||||
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]
|
||||
bytes previous_epoch_participation = 7001 [(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]
|
||||
bytes previous_epoch_participation = 7001 [
|
||||
(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]
|
||||
// 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 current_justified_checkpoint = 8003;
|
||||
Checkpoint finalized_checkpoint = 8004;
|
||||
|
||||
// New Altair fields [9001-10000]
|
||||
repeated uint64 inactivity_scores = 9001 [(ethereum.eth.ext.ssz_max) = "1099511627776"]; // [New in Altair]
|
||||
SyncCommittee current_sync_committee = 9002; // [New in Altair]
|
||||
SyncCommittee next_sync_committee = 9003; // [New in Altair]
|
||||
repeated uint64 inactivity_scores = 9001
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ]; // [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 {
|
||||
repeated bytes pubkeys = 1 [(ethereum.eth.ext.ssz_size) = "sync_committee_bits.size,48"];
|
||||
bytes aggregate_pubkey = 2 [(ethereum.eth.ext.ssz_size) = "48"];
|
||||
repeated bytes pubkeys = 1
|
||||
[ (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 {
|
||||
// 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.
|
||||
uint64 subcommittee_index = 2;
|
||||
}
|
||||
@@ -216,49 +286,70 @@ message SyncAggregatorSelectionData {
|
||||
message BeaconStateBellatrix {
|
||||
// Versioning [1001-2000]
|
||||
uint64 genesis_time = 1001;
|
||||
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"];
|
||||
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"
|
||||
];
|
||||
Fork fork = 1004;
|
||||
|
||||
// History [2001-3000]
|
||||
BeaconBlockHeader latest_block_header = 2001;
|
||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
||||
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"];
|
||||
repeated bytes block_roots = 2002
|
||||
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||
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]
|
||||
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;
|
||||
|
||||
// Registry [4001-5000]
|
||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated Validator validators = 4001
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
repeated uint64 balances = 4002
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
|
||||
// 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]
|
||||
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]
|
||||
bytes previous_epoch_participation = 7001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
bytes current_epoch_participation = 7002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
bytes previous_epoch_participation = 7001
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
bytes current_epoch_participation = 7002
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
|
||||
// Finality [8001-9000]
|
||||
// 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 current_justified_checkpoint = 8003;
|
||||
Checkpoint finalized_checkpoint = 8004;
|
||||
|
||||
// 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 next_sync_committee = 9003;
|
||||
|
||||
// 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 {
|
||||
// Versioning [1001-2000]
|
||||
uint64 genesis_time = 1001;
|
||||
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"];
|
||||
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"
|
||||
];
|
||||
Fork fork = 1004;
|
||||
|
||||
// History [2001-3000]
|
||||
BeaconBlockHeader latest_block_header = 2001;
|
||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
||||
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"];
|
||||
repeated bytes block_roots = 2002
|
||||
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||
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]
|
||||
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;
|
||||
|
||||
// Registry [4001-5000]
|
||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated Validator validators = 4001
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
repeated uint64 balances = 4002
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
|
||||
// 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]
|
||||
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]
|
||||
bytes previous_epoch_participation = 7001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
bytes current_epoch_participation = 7002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
bytes previous_epoch_participation = 7001
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
bytes current_epoch_participation = 7002
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
|
||||
// Finality [8001-9000]
|
||||
// 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 current_justified_checkpoint = 8003;
|
||||
Checkpoint finalized_checkpoint = 8004;
|
||||
|
||||
// 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 next_sync_committee = 9003;
|
||||
|
||||
// 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]
|
||||
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]
|
||||
repeated HistoricalSummary historical_summaries = 11003 [(ethereum.eth.ext.ssz_max) = "16777216"]; // [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]
|
||||
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 {
|
||||
bytes block_summary_root = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes state_summary_root = 2 [(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" ];
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -331,54 +448,79 @@ message HistoricalSummary {
|
||||
message BeaconStateDeneb {
|
||||
// Versioning [1001-2000]
|
||||
uint64 genesis_time = 1001;
|
||||
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"];
|
||||
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"
|
||||
];
|
||||
Fork fork = 1004;
|
||||
|
||||
// History [2001-3000]
|
||||
BeaconBlockHeader latest_block_header = 2001;
|
||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
||||
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"];
|
||||
repeated bytes block_roots = 2002
|
||||
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||
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]
|
||||
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;
|
||||
|
||||
// Registry [4001-5000]
|
||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated Validator validators = 4001
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
repeated uint64 balances = 4002
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
|
||||
// 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]
|
||||
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]
|
||||
bytes previous_epoch_participation = 7001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
bytes current_epoch_participation = 7002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
bytes previous_epoch_participation = 7001
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
bytes current_epoch_participation = 7002
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
|
||||
// Finality [8001-9000]
|
||||
// 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 current_justified_checkpoint = 8003;
|
||||
Checkpoint finalized_checkpoint = 8004;
|
||||
|
||||
// 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 next_sync_committee = 9003;
|
||||
|
||||
// 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]
|
||||
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"];
|
||||
repeated HistoricalSummary historical_summaries = 11003 [(ethereum.eth.ext.ssz_max) = "16777216"];
|
||||
uint64 next_withdrawal_validator_index = 11002
|
||||
[ (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 {
|
||||
// Versioning [1001-2000]
|
||||
uint64 genesis_time = 1001;
|
||||
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"];
|
||||
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"
|
||||
];
|
||||
Fork fork = 1004;
|
||||
|
||||
// History [2001-3000]
|
||||
BeaconBlockHeader latest_block_header = 2001;
|
||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
||||
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"];
|
||||
repeated bytes block_roots = 2002
|
||||
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||
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]
|
||||
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;
|
||||
|
||||
// Registry [4001-5000]
|
||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated Validator validators = 4001
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
repeated uint64 balances = 4002
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
|
||||
// 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]
|
||||
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]
|
||||
bytes previous_epoch_participation = 7001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
bytes current_epoch_participation = 7002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
bytes previous_epoch_participation = 7001
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
bytes current_epoch_participation = 7002
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
|
||||
// Finality [8001-9000]
|
||||
// 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 current_justified_checkpoint = 8003;
|
||||
Checkpoint finalized_checkpoint = 8004;
|
||||
|
||||
// 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 next_sync_committee = 9003;
|
||||
|
||||
// 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]
|
||||
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"];
|
||||
repeated HistoricalSummary historical_summaries = 11003 [(ethereum.eth.ext.ssz_max) = "16777216"];
|
||||
uint64 next_withdrawal_validator_index = 11002
|
||||
[ (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]
|
||||
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 exit_balance_to_consume = 12003 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"];
|
||||
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"];
|
||||
uint64 deposit_balance_to_consume = 12002 [
|
||||
(ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"
|
||||
];
|
||||
uint64 exit_balance_to_consume = 12003 [
|
||||
(ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"
|
||||
];
|
||||
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 {
|
||||
// Versioning [1001-2000]
|
||||
uint64 genesis_time = 1001;
|
||||
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"];
|
||||
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"
|
||||
];
|
||||
Fork fork = 1004;
|
||||
|
||||
// History [2001-3000]
|
||||
BeaconBlockHeader latest_block_header = 2001;
|
||||
repeated bytes block_roots = 2002 [(ethereum.eth.ext.ssz_size) = "block_roots.size"];
|
||||
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"];
|
||||
repeated bytes block_roots = 2002
|
||||
[ (ethereum.eth.ext.ssz_size) = "block_roots.size" ];
|
||||
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]
|
||||
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;
|
||||
|
||||
// Registry [4001-5000]
|
||||
repeated Validator validators = 4001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated uint64 balances = 4002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
repeated Validator validators = 4001
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
repeated uint64 balances = 4002
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
|
||||
// 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]
|
||||
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]
|
||||
bytes previous_epoch_participation = 7001 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
bytes current_epoch_participation = 7002 [(ethereum.eth.ext.ssz_max) = "1099511627776"];
|
||||
bytes previous_epoch_participation = 7001
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
bytes current_epoch_participation = 7002
|
||||
[ (ethereum.eth.ext.ssz_max) = "1099511627776" ];
|
||||
|
||||
// Finality [8001-9000]
|
||||
// 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 current_justified_checkpoint = 8003;
|
||||
Checkpoint finalized_checkpoint = 8004;
|
||||
|
||||
// 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 next_sync_committee = 9003;
|
||||
|
||||
// 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]
|
||||
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"];
|
||||
repeated HistoricalSummary historical_summaries = 11003 [(ethereum.eth.ext.ssz_max) = "16777216"];
|
||||
uint64 next_withdrawal_validator_index = 11002
|
||||
[ (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]
|
||||
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 exit_balance_to_consume = 12003 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"];
|
||||
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"];
|
||||
uint64 deposit_balance_to_consume = 12002 [
|
||||
(ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"
|
||||
];
|
||||
uint64 exit_balance_to_consume = 12003 [
|
||||
(ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Gwei"
|
||||
];
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/blobs.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -25,26 +25,32 @@ option java_package = "org.ethereum.eth.v1alpha1";
|
||||
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
|
||||
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 {
|
||||
BlindedBlobSidecar message = 1;
|
||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
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 slot = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
||||
bytes block_parent_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
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"];
|
||||
uint64 slot = 3 [
|
||||
(ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||
];
|
||||
bytes block_parent_root = 4 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
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 {
|
||||
bytes block_root = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes block_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/data_columns.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -25,17 +25,27 @@ option java_outer_classname = "DataColumnsProto";
|
||||
option java_package = "org.ethereum.eth.v1alpha1";
|
||||
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
|
||||
|
||||
message DataColumnSidecar {
|
||||
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 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"];
|
||||
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 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;
|
||||
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 {
|
||||
bytes block_root = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
bytes block_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/debug.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -19,147 +19,154 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
//
|
||||
// The debug service in Prysm provides API access to various utilities
|
||||
// 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 {
|
||||
// Returns a beacon state by filter criteria from the beacon node.
|
||||
rpc GetBeaconState(BeaconStateRequest) returns (SSZResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/debug/state"
|
||||
};
|
||||
}
|
||||
// Returns a beacon state by filter criteria from the beacon node.
|
||||
rpc GetBlock(BlockRequestByRoot) returns (SSZResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/debug/block"
|
||||
};
|
||||
}
|
||||
// SetLoggingLevel sets the log-level of the beacon node programmatically.
|
||||
rpc SetLoggingLevel(LoggingLevelRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/eth/v1alpha1/debug/logging"
|
||||
};
|
||||
}
|
||||
// Returns all the related data for every peer tracked by the host node.
|
||||
rpc ListPeers(google.protobuf.Empty) returns (DebugPeerResponses){
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/debug/peers"
|
||||
};
|
||||
}
|
||||
// Returns requested peer with specified peer id if it exists.
|
||||
rpc GetPeer(ethereum.eth.v1alpha1.PeerRequest) returns (DebugPeerResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/debug/peer"
|
||||
};
|
||||
}
|
||||
// Returns a beacon state by filter criteria from the beacon node.
|
||||
rpc GetBeaconState(BeaconStateRequest) returns (SSZResponse) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/debug/state"
|
||||
};
|
||||
}
|
||||
// Returns a beacon state by filter criteria from the beacon node.
|
||||
rpc GetBlock(BlockRequestByRoot) returns (SSZResponse) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/debug/block"
|
||||
};
|
||||
}
|
||||
// SetLoggingLevel sets the log-level of the beacon node programmatically.
|
||||
rpc SetLoggingLevel(LoggingLevelRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post : "/eth/v1alpha1/debug/logging"
|
||||
};
|
||||
}
|
||||
// Returns all the related data for every peer tracked by the host node.
|
||||
rpc ListPeers(google.protobuf.Empty) returns (DebugPeerResponses) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/debug/peers"
|
||||
};
|
||||
}
|
||||
// Returns requested peer with specified peer id if it exists.
|
||||
rpc GetPeer(ethereum.eth.v1alpha1.PeerRequest) returns (DebugPeerResponse) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/debug/peer"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
message InclusionSlotRequest {
|
||||
uint64 id = 1;
|
||||
uint64 slot = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
||||
uint64 id = 1;
|
||||
uint64 slot = 2 [
|
||||
(ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"
|
||||
];
|
||||
}
|
||||
|
||||
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 {
|
||||
oneof query_filter {
|
||||
// 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"];
|
||||
oneof query_filter {
|
||||
// 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"
|
||||
];
|
||||
|
||||
// The block root corresponding to a desired beacon state.
|
||||
bytes block_root = 2;
|
||||
}
|
||||
// The block root corresponding to a desired beacon state.
|
||||
bytes block_root = 2;
|
||||
}
|
||||
}
|
||||
|
||||
message BlockRequestByRoot {
|
||||
bytes block_root = 1;
|
||||
}
|
||||
message BlockRequestByRoot { bytes block_root = 1; }
|
||||
|
||||
message SSZResponse {
|
||||
// Returns an ssz-encoded byte slice as a response.
|
||||
bytes encoded = 1;
|
||||
// Returns an ssz-encoded byte slice as a response.
|
||||
bytes encoded = 1;
|
||||
}
|
||||
|
||||
message LoggingLevelRequest {
|
||||
// The logging levels available in Prysm as an enum.
|
||||
enum Level {
|
||||
INFO = 0;
|
||||
DEBUG = 1;
|
||||
TRACE = 2;
|
||||
}
|
||||
Level level = 1;
|
||||
// The logging levels available in Prysm as an enum.
|
||||
enum Level {
|
||||
INFO = 0;
|
||||
DEBUG = 1;
|
||||
TRACE = 2;
|
||||
}
|
||||
Level level = 1;
|
||||
}
|
||||
|
||||
message DebugPeerResponses {
|
||||
repeated DebugPeerResponse responses = 1;
|
||||
}
|
||||
message DebugPeerResponses { repeated DebugPeerResponse responses = 1; }
|
||||
|
||||
message DebugPeerResponse {
|
||||
// Peer related metadata that is useful for debugging.
|
||||
message PeerInfo {
|
||||
// Metadata of the peer, containing their bitfield
|
||||
// and sequence number.
|
||||
MetaDataV0 metadataV0 = 1;
|
||||
MetaDataV1 metadataV1 = 2;
|
||||
// List of protocols the peer supports.
|
||||
repeated string protocols = 3;
|
||||
// Number of times peer has been penalised.
|
||||
uint64 fault_count = 4;
|
||||
// Protocol Version peer is running.
|
||||
string protocol_version = 5;
|
||||
// Agent Version peer is running.
|
||||
string agent_version = 6;
|
||||
// Latency of responses from peer(in ms).
|
||||
uint64 peer_latency = 7;
|
||||
}
|
||||
// Listening addresses know of the peer.
|
||||
repeated string listening_addresses = 1;
|
||||
// Direction of current connection.
|
||||
ethereum.eth.v1alpha1.PeerDirection direction = 2;
|
||||
// Current connection between host and peer.
|
||||
ethereum.eth.v1alpha1.ConnectionState connection_state = 3;
|
||||
// Peer ID of peer.
|
||||
string peer_id = 4;
|
||||
// ENR of peer at the current moment.
|
||||
string enr = 5;
|
||||
// Peer Info of the peer containing all relevant metadata.
|
||||
PeerInfo peer_info = 6;
|
||||
// Peer Status of the peer.
|
||||
Status peer_status = 7;
|
||||
// Last know update time for peer status.
|
||||
uint64 last_updated = 8;
|
||||
// Score Info of the peer.
|
||||
ScoreInfo score_info = 9;
|
||||
// Peer related metadata that is useful for debugging.
|
||||
message PeerInfo {
|
||||
// Metadata of the peer, containing their bitfield
|
||||
// and sequence number.
|
||||
MetaDataV0 metadataV0 = 1;
|
||||
MetaDataV1 metadataV1 = 2;
|
||||
// List of protocols the peer supports.
|
||||
repeated string protocols = 3;
|
||||
// Number of times peer has been penalised.
|
||||
uint64 fault_count = 4;
|
||||
// Protocol Version peer is running.
|
||||
string protocol_version = 5;
|
||||
// Agent Version peer is running.
|
||||
string agent_version = 6;
|
||||
// Latency of responses from peer(in ms).
|
||||
uint64 peer_latency = 7;
|
||||
}
|
||||
// Listening addresses know of the peer.
|
||||
repeated string listening_addresses = 1;
|
||||
// Direction of current connection.
|
||||
ethereum.eth.v1alpha1.PeerDirection direction = 2;
|
||||
// Current connection between host and peer.
|
||||
ethereum.eth.v1alpha1.ConnectionState connection_state = 3;
|
||||
// Peer ID of peer.
|
||||
string peer_id = 4;
|
||||
// ENR of peer at the current moment.
|
||||
string enr = 5;
|
||||
// Peer Info of the peer containing all relevant metadata.
|
||||
PeerInfo peer_info = 6;
|
||||
// Peer Status of the peer.
|
||||
Status peer_status = 7;
|
||||
// Last know update time for peer status.
|
||||
uint64 last_updated = 8;
|
||||
// Score Info of the peer.
|
||||
ScoreInfo score_info = 9;
|
||||
}
|
||||
|
||||
// The Scoring related information of the particular peer.
|
||||
message ScoreInfo {
|
||||
float overall_score = 1;
|
||||
// Amount of processed blocks provided by
|
||||
// the peer.
|
||||
uint64 processed_blocks = 2;
|
||||
// Related block provider score.
|
||||
float block_provider_score = 3;
|
||||
// Relevant scores by particular topic.
|
||||
map<string,TopicScoreSnapshot> topic_scores = 4;
|
||||
// Gossip Score for peer.
|
||||
float gossip_score = 5;
|
||||
// Behaviour penalty of peer.
|
||||
float behaviour_penalty = 6;
|
||||
// Returns the current validation error(if it exists).
|
||||
string validation_error = 7;
|
||||
float overall_score = 1;
|
||||
// Amount of processed blocks provided by
|
||||
// the peer.
|
||||
uint64 processed_blocks = 2;
|
||||
// Related block provider score.
|
||||
float block_provider_score = 3;
|
||||
// Relevant scores by particular topic.
|
||||
map<string, TopicScoreSnapshot> topic_scores = 4;
|
||||
// Gossip Score for peer.
|
||||
float gossip_score = 5;
|
||||
// Behaviour penalty of peer.
|
||||
float behaviour_penalty = 6;
|
||||
// Returns the current validation error(if it exists).
|
||||
string validation_error = 7;
|
||||
}
|
||||
|
||||
message TopicScoreSnapshot {
|
||||
// Time a peer has spent in the gossip mesh.
|
||||
uint64 time_in_mesh = 1;
|
||||
// This is the number of first message deliveries in the topic.
|
||||
float first_message_deliveries = 2;
|
||||
// This is the number of message deliveries in the mesh, within the MeshMessageDeliveriesWindow of
|
||||
// message validation.It effectively tracks first and near-first
|
||||
// deliveries, ie a message seen from a mesh peer before we have forwarded it to them.
|
||||
float mesh_message_deliveries = 3;
|
||||
// This is the number of invalid messages in the topic from the peer.
|
||||
float invalid_message_deliveries = 4;
|
||||
// Time a peer has spent in the gossip mesh.
|
||||
uint64 time_in_mesh = 1;
|
||||
// This is the number of first message deliveries in the topic.
|
||||
float first_message_deliveries = 2;
|
||||
// This is the number of message deliveries in the mesh, within the
|
||||
// MeshMessageDeliveriesWindow of message validation.It effectively tracks
|
||||
// first and near-first deliveries, ie a message seen from a mesh peer before
|
||||
// we have forwarded it to them.
|
||||
float mesh_message_deliveries = 3;
|
||||
// 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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/eip_7251.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -25,33 +25,48 @@ option java_package = "org.ethereum.eth.v1alpha1";
|
||||
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
|
||||
message PendingDeposit {
|
||||
// 48 byte BLS public key of the validator.
|
||||
bytes public_key = 1 [(ethereum.eth.ext.ssz_size) = "48", (ethereum.eth.ext.spec_name) = "pubkey"];
|
||||
// 48 byte BLS public key of the validator.
|
||||
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.
|
||||
bytes withdrawal_credentials = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// A 32 byte hash of the withdrawal address public key.
|
||||
bytes withdrawal_credentials = 2 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
|
||||
// The amount of the deposit (gwei).
|
||||
uint64 amount = 3;
|
||||
// 96 byte BLS signature from the validator that produced this block.
|
||||
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"];
|
||||
// The amount of the deposit (gwei).
|
||||
uint64 amount = 3;
|
||||
// 96 byte BLS signature from the validator that produced this block.
|
||||
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"
|
||||
];
|
||||
}
|
||||
|
||||
message PendingPartialWithdrawal {
|
||||
// Validator index for the withdrawal.
|
||||
uint64 index = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
||||
// Validator index for the withdrawal.
|
||||
uint64 index = 1 [ (ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||
"primitives.ValidatorIndex" ];
|
||||
|
||||
// The amount of the withdrawal (gwei).
|
||||
uint64 amount = 2;
|
||||
// The amount of the withdrawal (gwei).
|
||||
uint64 amount = 2;
|
||||
|
||||
// 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"];
|
||||
// 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"
|
||||
];
|
||||
}
|
||||
|
||||
message PendingConsolidation {
|
||||
// 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"];
|
||||
// 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"];
|
||||
// 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" ];
|
||||
// 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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/finalized_block_root_container.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -10,6 +10,6 @@ option java_package = "org.ethereum.eth.v1alpha1";
|
||||
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
|
||||
message FinalizedBlockRootContainer {
|
||||
bytes parent_root = 1;
|
||||
bytes child_root = 2;
|
||||
bytes parent_root = 1;
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/health.proto
|
||||
|
||||
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
|
||||
// such being able to stream logs via gRPC.
|
||||
service Health {
|
||||
rpc StreamBeaconLogs(google.protobuf.Empty) returns (stream LogsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/health/logs/stream"
|
||||
};
|
||||
}
|
||||
rpc StreamBeaconLogs(google.protobuf.Empty) returns (stream LogsResponse) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/health/logs/stream"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
message LogsResponse {
|
||||
repeated string logs = 1;
|
||||
}
|
||||
message LogsResponse { 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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/light_client.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -34,36 +34,45 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
message LightClientBootstrapAltair {
|
||||
LightClientHeaderAltair header = 1;
|
||||
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 {
|
||||
LightClientHeaderAltair attested_header = 1;
|
||||
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;
|
||||
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;
|
||||
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 {
|
||||
LightClientHeaderAltair attested_header = 1;
|
||||
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;
|
||||
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 {
|
||||
LightClientHeaderAltair attested_header = 1;
|
||||
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 {
|
||||
BeaconBlockHeader beacon = 1;
|
||||
}
|
||||
message LightClientHeaderAltair { BeaconBlockHeader beacon = 1; }
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Capella
|
||||
@@ -72,37 +81,48 @@ message LightClientHeaderAltair {
|
||||
message LightClientBootstrapCapella {
|
||||
LightClientHeaderCapella header = 1;
|
||||
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 {
|
||||
LightClientHeaderCapella attested_header = 1;
|
||||
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;
|
||||
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;
|
||||
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 {
|
||||
LightClientHeaderCapella attested_header = 1;
|
||||
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;
|
||||
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 {
|
||||
LightClientHeaderCapella attested_header = 1;
|
||||
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 {
|
||||
BeaconBlockHeader beacon = 1;
|
||||
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 {
|
||||
LightClientHeaderDeneb header = 1;
|
||||
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 {
|
||||
LightClientHeaderDeneb attested_header = 1;
|
||||
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;
|
||||
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;
|
||||
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 {
|
||||
LightClientHeaderDeneb attested_header = 1;
|
||||
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;
|
||||
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 {
|
||||
LightClientHeaderDeneb attested_header = 1;
|
||||
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 {
|
||||
BeaconBlockHeader beacon = 1;
|
||||
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 {
|
||||
LightClientHeaderDeneb header = 1;
|
||||
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 {
|
||||
LightClientHeaderDeneb attested_header = 1;
|
||||
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;
|
||||
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;
|
||||
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 {
|
||||
LightClientHeaderDeneb attested_header = 1;
|
||||
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;
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/node.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -33,145 +33,143 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
// Node service provides general information about the node itself, the services
|
||||
// it supports, chain information and node version.
|
||||
service Node {
|
||||
// Retrieve the current network sync status of the node.
|
||||
rpc GetSyncStatus(google.protobuf.Empty) returns (SyncStatus) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/node/syncing"
|
||||
};
|
||||
}
|
||||
// Retrieve the current network sync status of the node.
|
||||
rpc GetSyncStatus(google.protobuf.Empty) returns (SyncStatus) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/node/syncing"
|
||||
};
|
||||
}
|
||||
|
||||
// Retrieve information about the genesis of Ethereum proof of stake.
|
||||
rpc GetGenesis(google.protobuf.Empty) returns (Genesis) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/node/genesis"
|
||||
};
|
||||
}
|
||||
// Retrieve information about the genesis of Ethereum proof of stake.
|
||||
rpc GetGenesis(google.protobuf.Empty) returns (Genesis) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/node/genesis"
|
||||
};
|
||||
}
|
||||
|
||||
// Retrieve information about the running Ethereum Beacon Node.
|
||||
rpc GetVersion(google.protobuf.Empty) returns (Version) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/node/version"
|
||||
};
|
||||
}
|
||||
// Retrieve information about the running Ethereum Beacon Node.
|
||||
rpc GetVersion(google.protobuf.Empty) returns (Version) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/node/version"
|
||||
};
|
||||
}
|
||||
|
||||
// Retrieve the current health of the node.
|
||||
rpc GetHealth(HealthRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/node/health"
|
||||
};
|
||||
}
|
||||
// Retrieve the current health of the node.
|
||||
rpc GetHealth(HealthRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/node/health"
|
||||
};
|
||||
}
|
||||
|
||||
// Retrieve the list of services implemented and enabled by this node.
|
||||
//
|
||||
// Any service not present in this list may return UNIMPLEMENTED or
|
||||
// PERMISSION_DENIED. The server may also support fetching services by grpc
|
||||
// reflection.
|
||||
rpc ListImplementedServices(google.protobuf.Empty) returns (ImplementedServices) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/node/services"
|
||||
};
|
||||
}
|
||||
// Retrieve the list of services implemented and enabled by this node.
|
||||
//
|
||||
// Any service not present in this list may return UNIMPLEMENTED or
|
||||
// PERMISSION_DENIED. The server may also support fetching services by grpc
|
||||
// reflection.
|
||||
rpc ListImplementedServices(google.protobuf.Empty)
|
||||
returns (ImplementedServices) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/node/services"
|
||||
};
|
||||
}
|
||||
|
||||
// Retrieves the peer data of the local peer.
|
||||
rpc GetHost(google.protobuf.Empty) returns (HostData) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/node/p2p"
|
||||
};
|
||||
}
|
||||
// Retrieves the peer data of the local peer.
|
||||
rpc GetHost(google.protobuf.Empty) returns (HostData) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/node/p2p"
|
||||
};
|
||||
}
|
||||
|
||||
// Retrieve the peer corresponding to the provided peer id.
|
||||
rpc GetPeer(PeerRequest) returns (Peer) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/node/peer"
|
||||
};
|
||||
}
|
||||
// Retrieve the peer corresponding to the provided peer id.
|
||||
rpc GetPeer(PeerRequest) returns (Peer) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/node/peer"
|
||||
};
|
||||
}
|
||||
|
||||
// Retrieve the list of peers currently connected to this node.
|
||||
rpc ListPeers(google.protobuf.Empty) returns (Peers) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/node/peers"
|
||||
};
|
||||
}
|
||||
// Retrieve the list of peers currently connected to this node.
|
||||
rpc ListPeers(google.protobuf.Empty) returns (Peers) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/node/peers"
|
||||
};
|
||||
}
|
||||
|
||||
// // Retrieve the status of the ETH1 connections.
|
||||
rpc GetETH1ConnectionStatus(google.protobuf.Empty) returns (ETH1ConnectionStatus) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/node/eth1/connections"
|
||||
};
|
||||
}
|
||||
// // Retrieve the status of the ETH1 connections.
|
||||
rpc GetETH1ConnectionStatus(google.protobuf.Empty)
|
||||
returns (ETH1ConnectionStatus) {
|
||||
option (google.api.http) = {
|
||||
get : "/eth/v1alpha1/node/eth1/connections"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
message HealthRequest {
|
||||
uint64 syncing_status = 1;
|
||||
}
|
||||
message HealthRequest { uint64 syncing_status = 1; }
|
||||
|
||||
// Information about the current network sync status of the node.
|
||||
message SyncStatus {
|
||||
// Whether or not the node is currently syncing.
|
||||
bool syncing = 1;
|
||||
// Whether or not the node is currently syncing.
|
||||
bool syncing = 1;
|
||||
}
|
||||
|
||||
// Information about the genesis of Ethereum proof of stake.
|
||||
message Genesis {
|
||||
// UTC time specified in the chain start event in the deposit contract.
|
||||
google.protobuf.Timestamp genesis_time = 1;
|
||||
// UTC time specified in the chain start event in the deposit contract.
|
||||
google.protobuf.Timestamp genesis_time = 1;
|
||||
|
||||
// Address of the deposit contract in the Ethereum 1 chain.
|
||||
bytes deposit_contract_address = 2;
|
||||
// Address of the deposit contract in the Ethereum 1 chain.
|
||||
bytes deposit_contract_address = 2;
|
||||
|
||||
// Root of the genesis validators deposits; used for domain separation
|
||||
// when signing data structures for this chain.
|
||||
bytes genesis_validators_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
||||
// Root of the genesis validators deposits; used for domain separation
|
||||
// when signing data structures for this chain.
|
||||
bytes genesis_validators_root = 3 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||
}
|
||||
|
||||
// Information about the node version.
|
||||
message Version {
|
||||
// A string that uniquely identifies the node and its version.
|
||||
string version = 1;
|
||||
// A string that uniquely identifies the node and its version.
|
||||
string version = 1;
|
||||
|
||||
// Additional metadata that the node would like to provide. This field may
|
||||
// be used to list any meaningful data to the client.
|
||||
string metadata = 2;
|
||||
// Additional metadata that the node would like to provide. This field may
|
||||
// be used to list any meaningful data to the client.
|
||||
string metadata = 2;
|
||||
}
|
||||
|
||||
message ImplementedServices {
|
||||
repeated string services = 1;
|
||||
}
|
||||
message ImplementedServices { repeated string services = 1; }
|
||||
|
||||
message PeerRequest {
|
||||
// Peer id of the peer requested.
|
||||
string peer_id = 1;
|
||||
// Peer id of the peer requested.
|
||||
string peer_id = 1;
|
||||
}
|
||||
|
||||
// Peers is a list of peer messages.
|
||||
message Peers {
|
||||
repeated Peer peers = 1;
|
||||
}
|
||||
message Peers { repeated Peer peers = 1; }
|
||||
|
||||
// Peer provides details of a peer on the network.
|
||||
message Peer {
|
||||
// The address of the peer, as a full multiaddr, for example:
|
||||
// /ip4/37.221.192.134/tcp/13000/p2p/16Uiu2HAm8maLMjag1TAUM52zPfmLbVMGFdwUAWgoHu1HDQLR6e17
|
||||
string address = 1;
|
||||
// The direction of the connection (inbound/outbound).
|
||||
PeerDirection direction = 2;
|
||||
// The connection state of the peer at the moment of the request. (e.g. Connecting)
|
||||
ConnectionState connection_state = 3;
|
||||
// The peer id of the peer.
|
||||
string peer_id = 4;
|
||||
// The latest ENR of the peer that's in the record.
|
||||
string enr = 5;
|
||||
// The address of the peer, as a full multiaddr, for example:
|
||||
// /ip4/37.221.192.134/tcp/13000/p2p/16Uiu2HAm8maLMjag1TAUM52zPfmLbVMGFdwUAWgoHu1HDQLR6e17
|
||||
string address = 1;
|
||||
// The direction of the connection (inbound/outbound).
|
||||
PeerDirection direction = 2;
|
||||
// The connection state of the peer at the moment of the request. (e.g.
|
||||
// Connecting)
|
||||
ConnectionState connection_state = 3;
|
||||
// The peer id of the peer.
|
||||
string peer_id = 4;
|
||||
// The latest ENR of the peer that's in the record.
|
||||
string enr = 5;
|
||||
}
|
||||
|
||||
// P2P Data on the local host.
|
||||
message HostData {
|
||||
// All the multiaddress of the peer, specified as a full multiaddr, for example:
|
||||
// /ip4/37.221.192.134/tcp/13000/p2p/16Uiu2HAm8maLMjag1TAUM52zPfmLbVMGFdwUAWgoHu1HDQLR6e17
|
||||
repeated string addresses = 1;
|
||||
// The peer id of the peer.
|
||||
string peer_id = 2;
|
||||
// The latest ENR of the local peer.
|
||||
string enr = 3;
|
||||
// All the multiaddress of the peer, specified as a full multiaddr, for
|
||||
// example:
|
||||
// /ip4/37.221.192.134/tcp/13000/p2p/16Uiu2HAm8maLMjag1TAUM52zPfmLbVMGFdwUAWgoHu1HDQLR6e17
|
||||
repeated string addresses = 1;
|
||||
// The peer id of the peer.
|
||||
string peer_id = 2;
|
||||
// The latest ENR of the local peer.
|
||||
string enr = 3;
|
||||
}
|
||||
|
||||
// PeerDirection states the direction of the connection to a peer.
|
||||
@@ -183,24 +181,24 @@ enum PeerDirection {
|
||||
|
||||
// ConnectionState states the current status of the peer.
|
||||
enum ConnectionState {
|
||||
DISCONNECTED = 0;
|
||||
DISCONNECTING = 1;
|
||||
CONNECTED = 2;
|
||||
CONNECTING = 3;
|
||||
DISCONNECTED = 0;
|
||||
DISCONNECTING = 1;
|
||||
CONNECTED = 2;
|
||||
CONNECTING = 3;
|
||||
}
|
||||
|
||||
// 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 {
|
||||
// Current ETH1 HTTP endpoint.
|
||||
string current_address = 1;
|
||||
// Current ETH1 HTTP endpoint.
|
||||
string current_address = 1;
|
||||
|
||||
// Current error (if any) of the current connection.
|
||||
string current_connection_error = 2;
|
||||
// Current error (if any) of the current connection.
|
||||
string current_connection_error = 2;
|
||||
|
||||
// A list of all provider URLs.
|
||||
repeated string addresses = 3;
|
||||
// A list of all provider URLs.
|
||||
repeated string addresses = 3;
|
||||
|
||||
// Current error (if any) of the HTTP connections.
|
||||
repeated string connection_errors = 4;
|
||||
// Current error (if any) of the HTTP connections.
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/p2p_messages.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -13,23 +13,35 @@ option java_package = "org.ethereum.eth.v1alpha1";
|
||||
option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
|
||||
message Status {
|
||||
bytes fork_digest = 1 [(ethereum.eth.ext.ssz_size) = "4"];
|
||||
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"];
|
||||
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"];
|
||||
bytes fork_digest = 1 [ (ethereum.eth.ext.ssz_size) = "4" ];
|
||||
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"
|
||||
];
|
||||
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 {
|
||||
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 step = 3;
|
||||
}
|
||||
|
||||
message ENRForkID {
|
||||
bytes current_fork_digest = 1 [(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"];
|
||||
bytes current_fork_digest = 1 [ (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"
|
||||
];
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -42,7 +54,11 @@ message ENRForkID {
|
||||
*/
|
||||
message MetaDataV0 {
|
||||
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 {
|
||||
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 syncnets = 3 [(ethereum.eth.ext.ssz_size) = "1", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector4"];
|
||||
bytes attnets = 2 [
|
||||
(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 {
|
||||
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 syncnets = 3 [(ethereum.eth.ext.ssz_size) = "1", (ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/go-bitfield.Bitvector4"];
|
||||
bytes attnets = 2 [
|
||||
(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;
|
||||
}
|
||||
|
||||
@@ -85,7 +117,10 @@ message MetaDataV2 {
|
||||
)
|
||||
*/
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -98,7 +133,10 @@ Spec Definition:
|
||||
)
|
||||
*/
|
||||
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;
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/powchain.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -17,58 +17,59 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
// ETH1ChainData is a container which holds all the relevant eth1
|
||||
// information
|
||||
message ETH1ChainData {
|
||||
LatestETH1Data current_eth1_data = 1 ;
|
||||
ChainStartData chainstart_data = 2;
|
||||
BeaconState beacon_state = 3;
|
||||
SparseMerkleTrie trie = 4;
|
||||
repeated DepositContainer deposit_containers = 5;
|
||||
DepositSnapshot deposit_snapshot = 6;
|
||||
LatestETH1Data current_eth1_data = 1;
|
||||
ChainStartData chainstart_data = 2;
|
||||
BeaconState beacon_state = 3;
|
||||
SparseMerkleTrie trie = 4;
|
||||
repeated DepositContainer deposit_containers = 5;
|
||||
DepositSnapshot deposit_snapshot = 6;
|
||||
}
|
||||
|
||||
// DepositSnapshot represents an EIP-4881 deposit snapshot
|
||||
message DepositSnapshot {
|
||||
repeated bytes finalized = 1 [(ethereum.eth.ext.ssz_size) = "?,32", (ethereum.eth.ext.ssz_max) = "32"];
|
||||
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;
|
||||
repeated bytes finalized = 1 [
|
||||
(ethereum.eth.ext.ssz_size) = "?,32",
|
||||
(ethereum.eth.ext.ssz_max) = "32"
|
||||
];
|
||||
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.
|
||||
message LatestETH1Data {
|
||||
uint64 block_height = 2;
|
||||
uint64 block_time = 3;
|
||||
bytes block_hash = 4;
|
||||
uint64 last_requested_block = 5;
|
||||
uint64 block_height = 2;
|
||||
uint64 block_time = 3;
|
||||
bytes block_hash = 4;
|
||||
uint64 last_requested_block = 5;
|
||||
}
|
||||
|
||||
// ChainStartData contains all the information related to chainstart.
|
||||
message ChainStartData {
|
||||
bool chainstarted = 1;
|
||||
uint64 genesis_time = 2;
|
||||
uint64 genesis_block = 3;
|
||||
Eth1Data eth1_data = 4;
|
||||
repeated Deposit chainstart_deposits = 5;
|
||||
bool chainstarted = 1;
|
||||
uint64 genesis_time = 2;
|
||||
uint64 genesis_block = 3;
|
||||
Eth1Data eth1_data = 4;
|
||||
repeated Deposit chainstart_deposits = 5;
|
||||
}
|
||||
|
||||
// SparseMerkleTrie is used to describe the model of our deposit trie.
|
||||
message SparseMerkleTrie {
|
||||
uint64 depth = 1;
|
||||
repeated TrieLayer layers = 2;
|
||||
repeated bytes original_items = 3;
|
||||
uint64 depth = 1;
|
||||
repeated TrieLayer layers = 2;
|
||||
repeated bytes original_items = 3;
|
||||
}
|
||||
|
||||
// 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,...)
|
||||
message TrieLayer {
|
||||
repeated bytes layer = 1;
|
||||
}
|
||||
message TrieLayer { repeated bytes layer = 1; }
|
||||
|
||||
// DepositContainer defines a container that can be used to store
|
||||
// deposit related information for a particular deposit.
|
||||
message DepositContainer {
|
||||
int64 index = 1;
|
||||
uint64 eth1_block_height = 2;
|
||||
Deposit deposit = 3;
|
||||
bytes deposit_root = 4;
|
||||
int64 index = 1;
|
||||
uint64 eth1_block_height = 2;
|
||||
Deposit deposit = 3;
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/slasher.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -26,10 +26,12 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
|
||||
message HighestAttestation {
|
||||
uint64 validator_index = 1;
|
||||
uint64 highest_source_epoch = 2
|
||||
[ (ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch" ];
|
||||
uint64 highest_target_epoch = 3
|
||||
[ (ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch" ];
|
||||
uint64 highest_source_epoch = 2 [
|
||||
(ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Epoch"
|
||||
];
|
||||
uint64 highest_target_epoch = 3 [
|
||||
(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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/sync_committee.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -27,52 +27,69 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
// Sync committee object to support light client.
|
||||
message SyncCommitteeMessage {
|
||||
// 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.
|
||||
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.
|
||||
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`.
|
||||
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 {
|
||||
ContributionAndProof message = 1;
|
||||
|
||||
// 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 {
|
||||
// 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;
|
||||
|
||||
// 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.
|
||||
message SyncCommitteeContribution {
|
||||
// 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.
|
||||
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;
|
||||
|
||||
// A bit is set if a signature from the validator at the corresponding
|
||||
// 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`.
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/validator-client/keymanager.proto
|
||||
|
||||
package validatorpb
|
||||
|
||||
@@ -17,80 +17,93 @@ option php_namespace = "Ethereum\\Validator\\Accounts\\V2";
|
||||
// SignRequest is a message type used by a keymanager
|
||||
// as part of Prysm's accounts v2 implementation.
|
||||
message SignRequest {
|
||||
// 48 byte public key corresponding to an associated private key
|
||||
// being requested to sign data.
|
||||
bytes public_key = 1;
|
||||
// 48 byte public key corresponding to an associated private key
|
||||
// being requested to sign data.
|
||||
bytes public_key = 1;
|
||||
|
||||
// Raw bytes signing root the client is requesting to sign. The client is
|
||||
// expected to determine these raw bytes from the appropriate BLS
|
||||
// signing domain as well as the signing root of the data structure
|
||||
// the bytes represent.
|
||||
bytes signing_root = 2;
|
||||
// Raw bytes signing root the client is requesting to sign. The client is
|
||||
// expected to determine these raw bytes from the appropriate BLS
|
||||
// signing domain as well as the signing root of the data structure
|
||||
// the bytes represent.
|
||||
bytes signing_root = 2;
|
||||
|
||||
// Signature domain and the beacon chain objects to allow server to verify
|
||||
// the contents and to prevent slashing.
|
||||
bytes signature_domain = 3;
|
||||
// Beacon chain objects. [100-200]
|
||||
oneof object {
|
||||
// Phase0 objects.
|
||||
ethereum.eth.v1alpha1.BeaconBlock block = 101;
|
||||
ethereum.eth.v1alpha1.AttestationData attestation_data = 102;
|
||||
ethereum.eth.v1alpha1.AggregateAttestationAndProof aggregate_attestation_and_proof = 103;
|
||||
ethereum.eth.v1alpha1.VoluntaryExit exit = 104;
|
||||
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"];
|
||||
// Signature domain and the beacon chain objects to allow server to verify
|
||||
// the contents and to prevent slashing.
|
||||
bytes signature_domain = 3;
|
||||
// Beacon chain objects. [100-200]
|
||||
oneof object {
|
||||
// Phase0 objects.
|
||||
ethereum.eth.v1alpha1.BeaconBlock block = 101;
|
||||
ethereum.eth.v1alpha1.AttestationData attestation_data = 102;
|
||||
ethereum.eth.v1alpha1.AggregateAttestationAndProof
|
||||
aggregate_attestation_and_proof = 103;
|
||||
ethereum.eth.v1alpha1.VoluntaryExit exit = 104;
|
||||
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.
|
||||
ethereum.eth.v1alpha1.BeaconBlockAltair block_altair = 107;
|
||||
ethereum.eth.v1alpha1.SyncAggregatorSelectionData sync_aggregator_selection_data = 108;
|
||||
ethereum.eth.v1alpha1.ContributionAndProof contribution_and_proof = 109;
|
||||
bytes sync_message_block_root = 110;
|
||||
// Altair objects.
|
||||
ethereum.eth.v1alpha1.BeaconBlockAltair block_altair = 107;
|
||||
ethereum.eth.v1alpha1.SyncAggregatorSelectionData
|
||||
sync_aggregator_selection_data = 108;
|
||||
ethereum.eth.v1alpha1.ContributionAndProof contribution_and_proof = 109;
|
||||
bytes sync_message_block_root = 110;
|
||||
|
||||
// Bellatrix objects.
|
||||
ethereum.eth.v1alpha1.BeaconBlockBellatrix block_bellatrix = 111;
|
||||
ethereum.eth.v1alpha1.BlindedBeaconBlockBellatrix blinded_block_bellatrix = 112;
|
||||
// Bellatrix objects.
|
||||
ethereum.eth.v1alpha1.BeaconBlockBellatrix block_bellatrix = 111;
|
||||
ethereum.eth.v1alpha1.BlindedBeaconBlockBellatrix blinded_block_bellatrix =
|
||||
112;
|
||||
|
||||
// Builder objects.
|
||||
ethereum.eth.v1alpha1.ValidatorRegistrationV1 registration = 113;
|
||||
// Builder objects.
|
||||
ethereum.eth.v1alpha1.ValidatorRegistrationV1 registration = 113;
|
||||
|
||||
// Capella objects.
|
||||
ethereum.eth.v1alpha1.BeaconBlockCapella block_capella = 114;
|
||||
ethereum.eth.v1alpha1.BlindedBeaconBlockCapella blinded_block_capella = 115;
|
||||
// Capella objects.
|
||||
ethereum.eth.v1alpha1.BeaconBlockCapella block_capella = 114;
|
||||
ethereum.eth.v1alpha1.BlindedBeaconBlockCapella blinded_block_capella = 115;
|
||||
|
||||
// Deneb objects.
|
||||
ethereum.eth.v1alpha1.BeaconBlockDeneb block_deneb = 116;
|
||||
ethereum.eth.v1alpha1.BlindedBeaconBlockDeneb blinded_block_deneb = 117;
|
||||
// Deneb objects.
|
||||
ethereum.eth.v1alpha1.BeaconBlockDeneb block_deneb = 116;
|
||||
ethereum.eth.v1alpha1.BlindedBeaconBlockDeneb blinded_block_deneb = 117;
|
||||
|
||||
// Electra objects.
|
||||
ethereum.eth.v1alpha1.BeaconBlockElectra block_electra = 118;
|
||||
ethereum.eth.v1alpha1.BlindedBeaconBlockElectra blinded_block_electra = 119;
|
||||
ethereum.eth.v1alpha1.AggregateAttestationAndProofElectra aggregate_attestation_and_proof_electra = 120;
|
||||
// Electra objects.
|
||||
ethereum.eth.v1alpha1.BeaconBlockElectra block_electra = 118;
|
||||
ethereum.eth.v1alpha1.BlindedBeaconBlockElectra blinded_block_electra = 119;
|
||||
ethereum.eth.v1alpha1.AggregateAttestationAndProofElectra
|
||||
aggregate_attestation_and_proof_electra = 120;
|
||||
|
||||
// Fulu objects.
|
||||
ethereum.eth.v1alpha1.BeaconBlockFulu block_fulu = 121;
|
||||
ethereum.eth.v1alpha1.BlindedBeaconBlockFulu blinded_block_fulu = 122;
|
||||
}
|
||||
// Fulu objects.
|
||||
ethereum.eth.v1alpha1.BeaconBlockFulu block_fulu = 121;
|
||||
ethereum.eth.v1alpha1.BlindedBeaconBlockFulu blinded_block_fulu = 122;
|
||||
}
|
||||
|
||||
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"];
|
||||
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"
|
||||
];
|
||||
}
|
||||
|
||||
// SignResponse returned by a RemoteSigner gRPC service.
|
||||
message SignResponse {
|
||||
enum Status {
|
||||
UNKNOWN = 0;
|
||||
SUCCEEDED = 1;
|
||||
DENIED = 2;
|
||||
FAILED = 3;
|
||||
}
|
||||
enum Status {
|
||||
UNKNOWN = 0;
|
||||
SUCCEEDED = 1;
|
||||
DENIED = 2;
|
||||
FAILED = 3;
|
||||
}
|
||||
|
||||
// BLS12-381 signature for the data specified in the request.
|
||||
bytes signature = 1;
|
||||
// BLS12-381 signature for the data specified in the request.
|
||||
bytes signature = 1;
|
||||
|
||||
// Status of the signing response, standardized as an enum
|
||||
// to ensure different remote signing servers follow the
|
||||
// same conventions.
|
||||
Status status = 2;
|
||||
// Status of the signing response, standardized as an enum
|
||||
// to ensure different remote signing servers follow the
|
||||
// same conventions.
|
||||
Status status = 2;
|
||||
}
|
||||
|
||||
// ProposerOptionPayload is a property of ProposerSettingsPayload
|
||||
@@ -103,11 +116,15 @@ message ProposerOptionPayload {
|
||||
// BuilderConfig is a property of ProposerOptionPayload
|
||||
message BuilderConfig {
|
||||
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;
|
||||
}
|
||||
|
||||
// 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 {
|
||||
map<string, ProposerOptionPayload> proposer_config = 1;
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/validator.proto
|
||||
|
||||
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.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v4.25.1
|
||||
// protoc-gen-go v1.33.0
|
||||
// protoc v3.21.7
|
||||
// source: proto/prysm/v1alpha1/withdrawals.proto
|
||||
|
||||
package eth
|
||||
|
||||
@@ -26,23 +26,24 @@ option php_namespace = "Ethereum\\Eth\\v1alpha1";
|
||||
|
||||
// The signed version of a BLSToExecutionChange
|
||||
message SignedBLSToExecutionChange {
|
||||
// The BLSToExecutionChange message itself
|
||||
BLSToExecutionChange message = 1;
|
||||
// The BLSToExecutionChange message itself
|
||||
BLSToExecutionChange message = 1;
|
||||
|
||||
// The 96 byte BLS signature from the withdrawal address requesting the change
|
||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
||||
// The 96 byte BLS signature from the withdrawal address requesting the change
|
||||
bytes signature = 2 [ (ethereum.eth.ext.ssz_size) = "96" ];
|
||||
}
|
||||
|
||||
// The message requesting a BLS to execution withdrawal credentials change
|
||||
message BLSToExecutionChange {
|
||||
// The validator index requesting the change
|
||||
uint64 validator_index = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
||||
|
||||
// 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"];
|
||||
}
|
||||
// The validator index requesting the change
|
||||
uint64 validator_index = 1
|
||||
[ (ethereum.eth.ext.cast_type) =
|
||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/"
|
||||
"primitives.ValidatorIndex" ];
|
||||
|
||||
|
||||
// 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 {
|
||||
string foo = 1;
|
||||
string bar = 2 [(ssz_size) = "32", (spec_name) = "foo"];
|
||||
string bar = 2 [ (ssz_size) = "32", (spec_name) = "foo" ];
|
||||
}
|
||||
|
||||
message TestNestedMessage {
|
||||
@@ -46,9 +46,7 @@ message Person {
|
||||
}
|
||||
|
||||
// Our address book file is just one of these.
|
||||
message AddressBook {
|
||||
repeated Person people = 1;
|
||||
}
|
||||
message AddressBook { repeated Person people = 1; }
|
||||
|
||||
message TestSimpleMessage {
|
||||
bytes foo = 1;
|
||||
|
||||
Reference in New Issue
Block a user