|
|
- syntax = "proto3";
- package types;
-
- import "github.com/gogo/protobuf/gogoproto/gogo.proto";
-
-
- // This file is copied from http://github.com/tendermint/abci
-
- //----------------------------------------
- // Request types
-
- message Request {
- oneof value{
- RequestEcho echo = 1;
- RequestFlush flush = 2;
- RequestInfo info = 3;
- RequestSetOption set_option = 4;
- RequestDeliverTx deliver_tx = 5;
- RequestCheckTx check_tx = 6;
- RequestCommit commit = 7;
- RequestQuery query = 8;
- RequestInitChain init_chain = 9;
- RequestBeginBlock begin_block = 10;
- RequestEndBlock end_block = 11;
- }
- }
-
- message RequestEcho {
- string message = 1;
- }
-
- message RequestFlush {
- }
-
- message RequestInfo {
- string version = 1;
- }
-
- message RequestSetOption{
- string key = 1;
- string value = 2;
- }
-
- message RequestDeliverTx{
- bytes tx = 1;
- }
-
- message RequestCheckTx{
- bytes tx = 1;
- }
-
- message RequestQuery{
- bytes data = 1;
- string path = 2;
- int64 height = 3;
- bool prove = 4;
- }
-
- message RequestCommit{
- }
-
- message RequestInitChain{
- repeated Validator validators = 1;
- }
-
- message RequestBeginBlock{
- bytes hash = 1;
- Header header = 2;
- repeated int32 absent_validators = 3;
- repeated Evidence byzantine_validators = 4;
- }
-
- message RequestEndBlock{
- int64 height = 1;
- }
-
- //----------------------------------------
- // Response types
-
-
- message Response {
- oneof value{
- ResponseException exception = 1;
- ResponseEcho echo = 2;
- ResponseFlush flush = 3;
- ResponseInfo info = 4;
- ResponseSetOption set_option = 5;
- ResponseDeliverTx deliver_tx = 6;
- ResponseCheckTx check_tx = 7;
- ResponseCommit commit = 8;
- ResponseQuery query = 9;
- ResponseInitChain init_chain = 10;
- ResponseBeginBlock begin_block = 11;
- ResponseEndBlock end_block = 12;
- }
- }
-
- message ResponseException{
- string error = 1;
- }
-
- message ResponseEcho {
- string message = 1;
- }
-
- message ResponseFlush{
- }
-
- message ResponseInfo {
- string data = 1;
- string version = 2;
- int64 last_block_height = 3;
- bytes last_block_app_hash = 4;
- }
-
- message ResponseSetOption{
- uint32 code = 1;
- string log = 2;
- }
-
- message ResponseDeliverTx{
- uint32 code = 1;
- bytes data = 2 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false];
- string log = 3;
- repeated KVPair tags = 4;
- }
-
- message ResponseCheckTx{
- uint32 code = 1;
- bytes data = 2 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false];
- string log = 3;
- int64 gas = 4;
- int64 fee = 5;
- }
-
- message ResponseQuery{
- uint32 code = 1;
- int64 index = 2;
- bytes key = 3 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false];
- bytes value = 4 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false];
- bytes proof = 5 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false];
- int64 height = 6;
- string log = 7;
- }
-
- message ResponseCommit{
- uint32 code = 1;
- bytes data = 2 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false];
- string log = 3;
- }
-
-
- message ResponseInitChain{
- }
-
- message ResponseBeginBlock{
- }
-
- message ResponseEndBlock{
- repeated Validator changes = 1;
- ConsensusParams consensus_param_changes = 2;
- }
-
- message ConsensusParams{
- BlockSizeParams block_size_params = 1;
- TxSizeParams tx_size_params = 2;
- BlockGossipParams block_gossip_params = 3;
- }
-
- // BlockSizeParams contain limits on the block size.
- message BlockSizeParams{
- // NOTE: must not be 0 nor greater than 100MB
- int32 max_bytes = 1;
- int32 max_txs = 2;
- int64 max_gas = 3;
- }
-
- // TxSizeParams contain limits on the tx size.
- message TxSizeParams {
- int32 max_bytes = 1;
- int64 max_gas = 2;
- }
-
- // BlockGossipParams determine consensus critical
- // elements of how blocks are gossiped
- message BlockGossipParams {
- // Note: must not be 0
- int32 block_part_size_bytes = 1;
- }
-
- //----------------------------------------
- // Blockchain Types
-
- message Header {
- string chain_id = 1;
- int64 height = 2;
- int64 time = 3;
- int32 num_txs = 4;
- BlockID last_block_id = 5;
- bytes last_commit_hash = 6;
- bytes data_hash = 7;
- bytes validators_hash = 8;
- bytes app_hash = 9;
- }
-
- message BlockID {
- bytes hash = 1;
- PartSetHeader parts = 2;
- }
-
- message PartSetHeader {
- int32 total = 1;
- bytes hash = 2;
- }
-
- message Validator {
- bytes pub_key = 1;
- int64 power = 2;
- }
-
- message Evidence {
- bytes pub_key = 1;
- int64 height = 2;
- }
-
- //----------------------------------------
- // Abstract types
-
- message KVPair {
- string key = 1;
- enum Type {
- STRING = 0;
- INT = 1;
- }
- Type value_type = 2;
- string value_string = 3;
- int64 value_int = 4;
- }
-
- //----------------------------------------
- // Service Definition
-
- service ABCIApplication {
- rpc Echo(RequestEcho) returns (ResponseEcho) ;
- rpc Flush(RequestFlush) returns (ResponseFlush);
- rpc Info(RequestInfo) returns (ResponseInfo);
- rpc SetOption(RequestSetOption) returns (ResponseSetOption);
- rpc DeliverTx(RequestDeliverTx) returns (ResponseDeliverTx);
- rpc CheckTx(RequestCheckTx) returns (ResponseCheckTx);
- rpc Query(RequestQuery) returns (ResponseQuery);
- rpc Commit(RequestCommit) returns (ResponseCommit);
- rpc InitChain(RequestInitChain) returns (ResponseInitChain);
- rpc BeginBlock(RequestBeginBlock) returns (ResponseBeginBlock);
- rpc EndBlock(RequestEndBlock) returns (ResponseEndBlock);
- }
|