mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2025-01-03 17:44:29 +00:00
62 lines
1.7 KiB
Protocol Buffer
62 lines
1.7 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
import "google/protobuf/empty.proto";
|
|
import "types/types.proto";
|
|
|
|
package txpool;
|
|
|
|
option go_package = "./txpool;txpool";
|
|
|
|
message TxHashes { repeated types.H256 hashes = 1; }
|
|
|
|
message AddRequest { repeated bytes rlpTxs = 1; }
|
|
|
|
enum ImportResult {
|
|
SUCCESS = 0;
|
|
ALREADY_EXISTS = 1;
|
|
FEE_TOO_LOW = 2;
|
|
STALE = 3;
|
|
INVALID = 4;
|
|
INTERNAL_ERROR = 5;
|
|
}
|
|
|
|
message AddReply { repeated ImportResult imported = 1; repeated string errors = 2; }
|
|
|
|
message TransactionsRequest { repeated types.H256 hashes = 1; }
|
|
message TransactionsReply { repeated bytes rlpTxs = 1; }
|
|
|
|
message OnAddRequest {}
|
|
message OnAddReply {
|
|
repeated bytes rplTxs = 1;
|
|
}
|
|
|
|
message AllRequest {}
|
|
message AllReply {
|
|
enum Type {
|
|
PENDING = 0; // All currently processable transactions
|
|
QUEUED = 1; // Queued but non-processable transactions
|
|
}
|
|
message Tx {
|
|
Type type = 1;
|
|
bytes sender = 2;
|
|
bytes rlpTx = 3;
|
|
}
|
|
repeated Tx txs = 1;
|
|
}
|
|
|
|
service Txpool {
|
|
// Version returns the service version number
|
|
rpc Version(google.protobuf.Empty) returns (types.VersionReply);
|
|
// preserves incoming order, changes amount, unknown hashes will be omitted
|
|
rpc FindUnknown(TxHashes) returns (TxHashes);
|
|
// Expecting signed transactions. Preserves incoming order and amount
|
|
// Adding txs as local (use P2P to add remote txs)
|
|
rpc Add(AddRequest) returns (AddReply);
|
|
// preserves incoming order and amount, if some transaction doesn't exists in pool - returns nil in this slot
|
|
rpc Transactions(TransactionsRequest) returns (TransactionsReply);
|
|
// returns all transactions from tx pool
|
|
rpc All(AllRequest) returns (AllReply);
|
|
// subscribe to new transactions add event
|
|
rpc OnAdd(OnAddRequest) returns (stream OnAddReply);
|
|
}
|