59 lines
1.2 KiB
Protocol Buffer
59 lines
1.2 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
option java_multiple_files = true;
|
|
option java_package = "mango.v3.geyser";
|
|
option java_outer_classname = "GeyserProto";
|
|
|
|
package accountsdb;
|
|
|
|
service AccountsDb {
|
|
rpc Subscribe(SubscribeRequest) returns (stream Update) {}
|
|
}
|
|
|
|
message SubscribeRequest {
|
|
}
|
|
|
|
message Update {
|
|
oneof update_oneof {
|
|
AccountWrite account_write = 1;
|
|
SlotUpdate slot_update = 2;
|
|
Ping ping = 3;
|
|
SubscribeResponse subscribe_response = 4;
|
|
}
|
|
}
|
|
|
|
message AccountWrite {
|
|
uint64 slot = 1;
|
|
bytes pubkey = 2;
|
|
uint64 lamports = 3;
|
|
bytes owner = 4;
|
|
bool executable = 5;
|
|
uint64 rent_epoch = 6;
|
|
bytes data = 7;
|
|
uint64 write_version = 8;
|
|
// Is this write part of the set of writes sent on startup?
|
|
bool is_startup = 9;
|
|
// Is this write sent because it matches the connector criterion?
|
|
// If false, then it is sent because this address previously matched
|
|
// the criterion (i.e. account is closed/reused)
|
|
bool is_selected = 10;
|
|
}
|
|
|
|
message SlotUpdate {
|
|
uint64 slot = 1;
|
|
optional uint64 parent = 2;
|
|
enum Status {
|
|
PROCESSED = 0;
|
|
ROOTED = 1;
|
|
CONFIRMED = 2;
|
|
}
|
|
Status status = 3;
|
|
}
|
|
|
|
message Ping {
|
|
}
|
|
|
|
message SubscribeResponse {
|
|
uint64 highest_write_slot = 1;
|
|
}
|