prysm-pulse/proto/sharding/v1/messages.proto

119 lines
2.4 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package ethereum.messages.v1;
import "google/protobuf/timestamp.proto";
enum Topic {
UNKNOWN = 0;
COLLATION_BODY_REQUEST = 1;
COLLATION_BODY_RESPONSE = 2;
TRANSACTIONS = 3;
BEACON_BLOCK_HASH_ANNOUNCE = 4;
BEACON_BLOCK_REQUEST = 5;
BEACON_BLOCK_RESPONSE = 6;
}
message BeaconBlockHashAnnounce {
bytes hash = 1;
}
message BeaconBlockRequest {
bytes hash = 1;
}
message BeaconBlockResponse {
bytes parent_hash = 1;
uint64 slot_number = 2;
bytes randao_reveal = 3;
bytes attestation_bitmask = 4;
repeated uint32 attestation_aggregate_sig = 5;
repeated AggregateVote shard_aggregate_votes = 6;
bytes main_chain_ref = 7;
bytes active_state_hash = 8;
bytes crystallized_state_hash = 9;
google.protobuf.Timestamp timestamp = 10;
}
message CrystallizedStateHashAnnounce {
bytes hash = 1;
}
message CrystallizedStateRequest {
bytes hash = 1;
}
message CrystallizedStateResponse {
repeated ValidatorRecord active_validators = 1;
repeated ValidatorRecord queued_validators = 2;
repeated ValidatorRecord exited_validators = 3;
repeated uint64 current_epoch_shuffling = 4;
uint64 current_epoch = 5;
uint64 last_justified_epoch = 6;
uint64 last_finalized_epoch = 7;
uint64 current_dynasty = 8;
uint64 next_shard = 9;
bytes current_check_point = 10;
uint64 total_deposits = 11;
bytes dynasty_seed = 12;
uint64 dynasty_seed_last_reset = 13;
}
message ActiveStateHashAnnounce {
bytes hash = 1;
}
message ActiveStateRequest {
bytes hash = 1;
}
message ActiveStateResponse {
uint64 total_attester_deposits = 1;
bytes attester_bitfield = 2;
}
message AggregateVote {
uint32 shard_id = 1;
bytes shard_block_hash = 2;
bytes signer_bitmask = 3;
repeated uint32 aggregate_sig = 4;
}
message CollationBodyRequest {
uint64 shard_id = 1;
uint64 period = 2;
bytes chunk_root = 3;
bytes proposer_address = 4;
bytes signature = 5;
}
message ValidatorRecord {
uint64 public_key = 1;
uint64 withdrawal_shard = 2;
bytes withdrawal_address = 3;
bytes randao_commitment = 4;
uint64 balance = 5;
uint64 switch_dynasty = 6;
}
message CollationBodyResponse {
bytes header_hash = 1;
bytes body = 2;
}
message Transaction {
uint64 nonce = 1;
uint64 gas_price = 2;
uint64 gas_limit = 3;
bytes recipient = 4;
uint64 value = 5;
bytes input = 6;
Signature signature = 7;
}
message Signature {
uint64 v = 1;
uint64 r = 2;
uint64 s = 3;
}