93 lines
2.2 KiB
Protocol Buffer
93 lines
2.2 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
import public "solana-storage-v1.10.40.proto";
|
|
|
|
package geyser;
|
|
|
|
service Geyser {
|
|
rpc Subscribe(stream SubscribeRequest) returns (stream SubscribeUpdate) {}
|
|
}
|
|
|
|
message SubscribeRequest {
|
|
map<string, SubscribeRequestFilterAccounts> accounts = 1;
|
|
map<string, SubscribeRequestFilterSlots> slots = 2;
|
|
map<string, SubscribeRequestFilterTransactions> transactions = 3;
|
|
map<string, SubscribeRequestFilterBlocks> blocks = 4;
|
|
}
|
|
|
|
message SubscribeRequestFilterAccounts {
|
|
repeated string account = 2;
|
|
repeated string owner = 3;
|
|
}
|
|
|
|
message SubscribeRequestFilterSlots {}
|
|
|
|
message SubscribeRequestFilterTransactions {
|
|
optional bool vote = 1;
|
|
optional bool failed = 2;
|
|
repeated string account_include = 3;
|
|
repeated string account_exclude = 4;
|
|
}
|
|
|
|
message SubscribeRequestFilterBlocks {}
|
|
|
|
message SubscribeUpdate {
|
|
repeated string filters = 1;
|
|
oneof update_oneof {
|
|
SubscribeUpdateAccount account = 2;
|
|
SubscribeUpdateSlot slot = 3;
|
|
SubscribeUpdateTransaction transaction = 4;
|
|
SubscribeUpdateBlock block = 5;
|
|
}
|
|
}
|
|
|
|
message SubscribeUpdateAccount {
|
|
SubscribeUpdateAccountInfo account = 1;
|
|
uint64 slot = 2;
|
|
bool is_startup = 3;
|
|
}
|
|
|
|
message SubscribeUpdateAccountInfo {
|
|
bytes pubkey = 1;
|
|
uint64 lamports = 2;
|
|
bytes owner = 3;
|
|
bool executable = 4;
|
|
uint64 rent_epoch = 5;
|
|
bytes data = 6;
|
|
uint64 write_version = 7;
|
|
// bytes txn_signature = 8;
|
|
}
|
|
|
|
message SubscribeUpdateSlot {
|
|
uint64 slot = 1;
|
|
optional uint64 parent = 2;
|
|
SubscribeUpdateSlotStatus status = 3;
|
|
}
|
|
|
|
enum SubscribeUpdateSlotStatus {
|
|
PROCESSED = 0;
|
|
CONFIRMED = 1;
|
|
FINALIZED = 2;
|
|
}
|
|
|
|
message SubscribeUpdateTransaction {
|
|
SubscribeUpdateTransactionInfo transaction = 1;
|
|
uint64 slot = 2;
|
|
}
|
|
|
|
message SubscribeUpdateTransactionInfo {
|
|
bytes signature = 1;
|
|
bool is_vote = 2;
|
|
solana.storage.ConfirmedBlock.Transaction transaction = 3;
|
|
solana.storage.ConfirmedBlock.TransactionStatusMeta meta = 4;
|
|
// uint64 index = 5;
|
|
}
|
|
|
|
message SubscribeUpdateBlock {
|
|
uint64 slot = 1;
|
|
string blockhash = 2;
|
|
solana.storage.ConfirmedBlock.Rewards rewards = 3;
|
|
solana.storage.ConfirmedBlock.UnixTimestamp block_time = 4;
|
|
solana.storage.ConfirmedBlock.BlockHeight block_height = 5;
|
|
}
|