2018-07-17 18:39:04 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package ethereum.messages.v1;
|
|
|
|
|
2018-07-28 19:53:02 +00:00
|
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
|
2018-07-17 18:39:04 +00:00
|
|
|
enum Topic {
|
|
|
|
UNKNOWN = 0;
|
|
|
|
COLLATION_BODY_REQUEST = 1;
|
|
|
|
COLLATION_BODY_RESPONSE = 2;
|
|
|
|
TRANSACTIONS = 3;
|
2018-07-28 19:53:02 +00:00
|
|
|
BEACON_BLOCK_HASH_ANNOUNCE = 4;
|
|
|
|
BEACON_BLOCK_REQUEST = 5;
|
|
|
|
BEACON_BLOCK_RESPONSE = 6;
|
2018-07-17 18:39:04 +00:00
|
|
|
}
|
|
|
|
|
2018-07-28 19:53:02 +00:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
2018-07-31 00:29:40 +00:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
2018-07-31 01:13:25 +00:00
|
|
|
message ActiveStateHashAnnounce {
|
|
|
|
bytes hash = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ActiveStateRequest {
|
|
|
|
bytes hash = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ActiveStateResponse {
|
|
|
|
uint64 total_attester_deposits = 1;
|
|
|
|
bytes attester_bitfield = 2;
|
|
|
|
}
|
|
|
|
|
2018-07-28 19:53:02 +00:00
|
|
|
message AggregateVote {
|
|
|
|
uint32 shard_id = 1;
|
|
|
|
bytes shard_block_hash = 2;
|
|
|
|
bytes signer_bitmask = 3;
|
|
|
|
repeated uint32 aggregate_sig = 4;
|
|
|
|
}
|
|
|
|
|
2018-07-17 18:39:04 +00:00
|
|
|
message CollationBodyRequest {
|
|
|
|
uint64 shard_id = 1;
|
|
|
|
uint64 period = 2;
|
|
|
|
bytes chunk_root = 3;
|
|
|
|
bytes proposer_address = 4;
|
|
|
|
bytes signature = 5;
|
|
|
|
}
|
|
|
|
|
2018-07-31 00:29:40 +00:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
2018-07-17 18:39:04 +00:00
|
|
|
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;
|
2018-07-28 19:53:02 +00:00
|
|
|
Signature signature = 7;
|
2018-07-17 18:39:04 +00:00
|
|
|
}
|
|
|
|
|
2018-07-28 19:53:02 +00:00
|
|
|
message Signature {
|
2018-07-17 18:39:04 +00:00
|
|
|
uint64 v = 1;
|
|
|
|
uint64 r = 2;
|
|
|
|
uint64 s = 3;
|
|
|
|
}
|