117 lines
3.8 KiB
Protocol Buffer
117 lines
3.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
package cosmos.tx.v1beta1;
|
|
|
|
import "google/api/annotations.proto";
|
|
import "cosmos/base/abci/v1beta1/abci.proto";
|
|
import "cosmos/tx/v1beta1/tx.proto";
|
|
import "gogoproto/gogo.proto";
|
|
import "cosmos/base/query/v1beta1/pagination.proto";
|
|
|
|
option go_package = "github.com/cosmos/cosmos-sdk/types/tx";
|
|
|
|
// Service defines a gRPC service for interacting with transactions.
|
|
service Service {
|
|
// Simulate simulates executing a transaction for estimating gas usage.
|
|
rpc Simulate(SimulateRequest) returns (SimulateResponse) {
|
|
option (google.api.http) = {
|
|
post: "/cosmos/tx/v1beta1/simulate"
|
|
body: "*"
|
|
};
|
|
}
|
|
// GetTx fetches a tx by hash.
|
|
rpc GetTx(GetTxRequest) returns (GetTxResponse) {
|
|
option (google.api.http).get = "/cosmos/tx/v1beta1/txs/{hash}";
|
|
}
|
|
// BroadcastTx broadcast transaction.
|
|
rpc BroadcastTx(BroadcastTxRequest) returns (BroadcastTxResponse) {
|
|
option (google.api.http) = {
|
|
post: "/cosmos/tx/v1beta1/txs"
|
|
body: "*"
|
|
};
|
|
}
|
|
// GetTxsEvent fetches txs by event.
|
|
rpc GetTxsEvent(GetTxsEventRequest) returns (GetTxsEventResponse) {
|
|
option (google.api.http).get = "/cosmos/tx/v1beta1/txs";
|
|
}
|
|
}
|
|
|
|
// GetTxsEventRequest is the request type for the Service.TxsByEvents
|
|
// RPC method.
|
|
message GetTxsEventRequest {
|
|
// events is the list of transaction event type.
|
|
repeated string events = 1;
|
|
// pagination defines an pagination for the request.
|
|
cosmos.base.query.v1beta1.PageRequest pagination = 2;
|
|
}
|
|
|
|
// GetTxsEventResponse is the response type for the Service.TxsByEvents
|
|
// RPC method.
|
|
message GetTxsEventResponse {
|
|
// txs is the list of queried transactions.
|
|
repeated cosmos.tx.v1beta1.Tx txs = 1;
|
|
// tx_responses is the list of queried TxResponses.
|
|
repeated cosmos.base.abci.v1beta1.TxResponse tx_responses = 2;
|
|
// pagination defines an pagination for the response.
|
|
cosmos.base.query.v1beta1.PageResponse pagination = 3;
|
|
}
|
|
|
|
// BroadcastTxRequest is the request type for the Service.BroadcastTxRequest
|
|
// RPC method.
|
|
message BroadcastTxRequest {
|
|
// tx_bytes is the raw transaction.
|
|
bytes tx_bytes = 1;
|
|
BroadcastMode mode = 2;
|
|
}
|
|
|
|
// BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC method.
|
|
enum BroadcastMode {
|
|
// zero-value for mode ordering
|
|
BROADCAST_MODE_UNSPECIFIED = 0;
|
|
// BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits for
|
|
// the tx to be committed in a block.
|
|
BROADCAST_MODE_BLOCK = 1;
|
|
// BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for
|
|
// a CheckTx execution response only.
|
|
BROADCAST_MODE_SYNC = 2;
|
|
// BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns
|
|
// immediately.
|
|
BROADCAST_MODE_ASYNC = 3;
|
|
}
|
|
|
|
// BroadcastTxResponse is the response type for the
|
|
// Service.BroadcastTx method.
|
|
message BroadcastTxResponse {
|
|
// tx_response is the queried TxResponses.
|
|
cosmos.base.abci.v1beta1.TxResponse tx_response = 1;
|
|
}
|
|
|
|
// SimulateRequest is the request type for the Service.Simulate
|
|
// RPC method.
|
|
message SimulateRequest {
|
|
// tx is the transaction to simulate.
|
|
cosmos.tx.v1beta1.Tx tx = 1;
|
|
}
|
|
|
|
// SimulateResponse is the response type for the
|
|
// Service.SimulateRPC method.
|
|
message SimulateResponse {
|
|
// gas_info is the information about gas used in the simulation.
|
|
cosmos.base.abci.v1beta1.GasInfo gas_info = 1;
|
|
// result is the result of the simulation.
|
|
cosmos.base.abci.v1beta1.Result result = 2;
|
|
}
|
|
|
|
// GetTxRequest is the request type for the Service.GetTx
|
|
// RPC method.
|
|
message GetTxRequest {
|
|
// hash is the tx hash to query, encoded as a hex string.
|
|
string hash = 1;
|
|
}
|
|
|
|
// GetTxResponse is the response type for the Service.GetTx method.
|
|
message GetTxResponse {
|
|
// tx is the queried transaction.
|
|
cosmos.tx.v1beta1.Tx tx = 1;
|
|
// tx_response is the queried TxResponses.
|
|
cosmos.base.abci.v1beta1.TxResponse tx_response = 2;
|
|
} |