2018-08-01 00:35:08 -05:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package ethereum.beacon.rpc.v1;
|
|
|
|
|
|
|
|
import "proto/beacon/p2p/v1/messages.proto";
|
2018-08-09 17:54:59 -05:00
|
|
|
import "google/protobuf/empty.proto";
|
2018-09-04 23:35:32 -04:00
|
|
|
import "google/protobuf/timestamp.proto";
|
2018-08-01 00:35:08 -05:00
|
|
|
|
|
|
|
service BeaconService {
|
2018-08-09 17:54:59 -05:00
|
|
|
rpc LatestBeaconBlock(google.protobuf.Empty) returns (stream ethereum.beacon.p2p.v1.BeaconBlock);
|
|
|
|
rpc LatestCrystallizedState(google.protobuf.Empty) returns (stream ethereum.beacon.p2p.v1.CrystallizedState);
|
|
|
|
rpc FetchShuffledValidatorIndices(ShuffleRequest) returns (ShuffleResponse);
|
|
|
|
}
|
|
|
|
|
|
|
|
service AttesterService {
|
2018-09-11 10:08:31 -07:00
|
|
|
rpc AttestHead(AttestRequest) returns (AttestResponse);
|
2018-08-09 17:54:59 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
service ProposerService {
|
2018-08-01 00:35:08 -05:00
|
|
|
rpc ProposeBlock(ProposeRequest) returns (ProposeResponse);
|
|
|
|
}
|
|
|
|
|
|
|
|
message ShuffleRequest {
|
2018-08-09 17:54:59 -05:00
|
|
|
bytes crystallized_state_hash = 1;
|
2018-08-01 00:35:08 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
message ShuffleResponse {
|
2018-08-09 17:54:59 -05:00
|
|
|
repeated uint64 shuffled_validator_indices = 1;
|
|
|
|
repeated uint64 cutoff_indices = 2;
|
2018-09-01 12:01:53 -04:00
|
|
|
repeated uint64 assigned_attestation_slots = 3;
|
2018-08-01 00:35:08 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
message ProposeRequest {
|
2018-09-04 23:35:32 -04:00
|
|
|
bytes parent_hash = 1;
|
|
|
|
uint64 slot_number = 2;
|
|
|
|
bytes randao_reveal = 3;
|
|
|
|
bytes attestation_bitmask = 4;
|
|
|
|
repeated uint32 attestation_aggregate_sig = 5;
|
|
|
|
google.protobuf.Timestamp timestamp = 6;
|
2018-08-01 00:35:08 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
message ProposeResponse {
|
|
|
|
bytes block_hash = 1;
|
|
|
|
}
|
|
|
|
|
2018-09-11 10:08:31 -07:00
|
|
|
message AttestRequest {
|
2018-09-15 07:51:17 -07:00
|
|
|
ethereum.beacon.p2p.v1.AggregatedAttestation attestation = 1;
|
2018-08-01 00:35:08 -05:00
|
|
|
}
|
|
|
|
|
2018-09-11 10:08:31 -07:00
|
|
|
message AttestResponse {
|
|
|
|
bytes attestation_hash = 1;
|
2018-09-04 23:35:32 -04:00
|
|
|
}
|