github.com/Finschia/ostracon@v1.1.5/proto/ostracon/abci/types.proto (about)

     1  syntax = "proto3";
     2  package ostracon.abci;
     3  
     4  option go_package = "github.com/Finschia/ostracon/abci/types";
     5  
     6  // For more information on gogo.proto, see:
     7  // https://github.com/gogo/protobuf/blob/master/extensions.md
     8  import "tendermint/abci/types.proto";
     9  import "tendermint/types/types.proto";
    10  import "ostracon/types/types.proto";
    11  import "gogoproto/gogo.proto";
    12  
    13  // This file is copied from http://github.com/tendermint/abci
    14  // NOTE: When using custom types, mind the warnings.
    15  // https://github.com/gogo/protobuf/blob/master/custom_types.md#warnings-and-issues
    16  
    17  //----------------------------------------
    18  // Request types
    19  
    20  message Request {
    21    oneof value {
    22      tendermint.abci.RequestEcho               echo                 = 1;
    23      tendermint.abci.RequestFlush              flush                = 2;
    24      tendermint.abci.RequestInfo               info                 = 3;
    25      tendermint.abci.RequestSetOption          set_option           = 4;
    26      tendermint.abci.RequestInitChain          init_chain           = 5;
    27      tendermint.abci.RequestQuery              query                = 6;
    28      RequestBeginBlock                         begin_block          = 7;
    29      tendermint.abci.RequestCheckTx            check_tx             = 8;
    30      tendermint.abci.RequestDeliverTx          deliver_tx           = 9;
    31      tendermint.abci.RequestEndBlock           end_block            = 10;
    32      tendermint.abci.RequestCommit             commit               = 11;
    33      tendermint.abci.RequestListSnapshots      list_snapshots       = 12;
    34      tendermint.abci.RequestOfferSnapshot      offer_snapshot       = 13;
    35      tendermint.abci.RequestLoadSnapshotChunk  load_snapshot_chunk  = 14;
    36      tendermint.abci.RequestApplySnapshotChunk apply_snapshot_chunk = 15;
    37      RequestBeginRecheckTx                     begin_recheck_tx     = 1000;  // 16~99 are reserved for merging original tendermint
    38      RequestEndRecheckTx                       end_recheck_tx       = 1001;
    39    }
    40  }
    41  
    42  message RequestBeginBlock {
    43    bytes                          hash                    = 1;
    44    tendermint.types.Header        header                  = 2 [(gogoproto.nullable) = false];
    45    tendermint.abci.LastCommitInfo last_commit_info        = 3 [(gogoproto.nullable) = false];
    46    repeated tendermint.abci.Evidence byzantine_validators = 4 [(gogoproto.nullable) = false];
    47  
    48    // *** Ostracon Extended Fields ***
    49    ostracon.types.Entropy entropy = 1000 [(gogoproto.nullable) = false];
    50  }
    51  
    52  message RequestBeginRecheckTx {
    53    tendermint.types.Header header = 1 [(gogoproto.nullable) = false];
    54  }
    55  
    56  message RequestEndRecheckTx {
    57    int64 height = 1;
    58  }
    59  
    60  //----------------------------------------
    61  // Response types
    62  
    63  message Response {
    64    oneof value {
    65      tendermint.abci.ResponseException          exception            = 1;
    66      tendermint.abci.ResponseEcho               echo                 = 2;
    67      tendermint.abci.ResponseFlush              flush                = 3;
    68      tendermint.abci.ResponseInfo               info                 = 4;
    69      tendermint.abci.ResponseSetOption          set_option           = 5;
    70      tendermint.abci.ResponseInitChain          init_chain           = 6;
    71      tendermint.abci.ResponseQuery              query                = 7;
    72      tendermint.abci.ResponseBeginBlock         begin_block          = 8;
    73      ResponseCheckTx                            check_tx             = 9;
    74      tendermint.abci.ResponseDeliverTx          deliver_tx           = 10;
    75      tendermint.abci.ResponseEndBlock           end_block            = 11;
    76      tendermint.abci.ResponseCommit             commit               = 12;
    77      tendermint.abci.ResponseListSnapshots      list_snapshots       = 13;
    78      tendermint.abci.ResponseOfferSnapshot      offer_snapshot       = 14;
    79      tendermint.abci.ResponseLoadSnapshotChunk  load_snapshot_chunk  = 15;
    80      tendermint.abci.ResponseApplySnapshotChunk apply_snapshot_chunk = 16;
    81      ResponseBeginRecheckTx                     begin_recheck_tx     = 1000;  // 17~99 are reserved for merging original tendermint
    82      ResponseEndRecheckTx                       end_recheck_tx       = 1001;
    83    }
    84  }
    85  
    86  message ResponseCheckTx {
    87    uint32   code                         = 1;
    88    bytes    data                         = 2;
    89    string   log                          = 3;  // nondeterministic
    90    string   info                         = 4;  // nondeterministic
    91    int64    gas_wanted                   = 5 [json_name = "gas_wanted"];
    92    int64    gas_used                     = 6 [json_name = "gas_used"];
    93    repeated tendermint.abci.Event events = 7
    94        [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"];
    95    string codespace = 8;
    96    string sender    = 9;   // MEMO: not used, just reservation to implement https://github.com/tendermint/tendermint/pull/6740 first
    97    int64  priority  = 10;  // MEMO: not used, just reservation to implement https://github.com/tendermint/tendermint/pull/6740 first
    98  
    99    // mempool_error is set by Ostracon.
   100    // ABCI applictions creating a ResponseCheckTX should not set mempool_error.
   101    string mempool_error = 11;
   102  }
   103  
   104  message ResponseBeginRecheckTx {
   105    uint32 code = 1;
   106  }
   107  
   108  message ResponseEndRecheckTx {
   109    uint32 code = 1;
   110  }
   111  
   112  //----------------------------------------
   113  // Service Definition
   114  
   115  service ABCIApplication {
   116    rpc Echo(tendermint.abci.RequestEcho) returns (tendermint.abci.ResponseEcho);
   117    rpc Flush(tendermint.abci.RequestFlush) returns (tendermint.abci.ResponseFlush);
   118    rpc Info(tendermint.abci.RequestInfo) returns (tendermint.abci.ResponseInfo);
   119    rpc SetOption(tendermint.abci.RequestSetOption) returns (tendermint.abci.ResponseSetOption);
   120    rpc DeliverTx(tendermint.abci.RequestDeliverTx) returns (tendermint.abci.ResponseDeliverTx);
   121    rpc CheckTx(tendermint.abci.RequestCheckTx) returns (ResponseCheckTx);
   122    rpc Query(tendermint.abci.RequestQuery) returns (tendermint.abci.ResponseQuery);
   123    rpc Commit(tendermint.abci.RequestCommit) returns (tendermint.abci.ResponseCommit);
   124    rpc InitChain(tendermint.abci.RequestInitChain) returns (tendermint.abci.ResponseInitChain);
   125    rpc BeginBlock(RequestBeginBlock) returns (tendermint.abci.ResponseBeginBlock);
   126    rpc EndBlock(tendermint.abci.RequestEndBlock) returns (tendermint.abci.ResponseEndBlock);
   127    rpc ListSnapshots(tendermint.abci.RequestListSnapshots) returns (tendermint.abci.ResponseListSnapshots);
   128    rpc OfferSnapshot(tendermint.abci.RequestOfferSnapshot) returns (tendermint.abci.ResponseOfferSnapshot);
   129    rpc LoadSnapshotChunk(tendermint.abci.RequestLoadSnapshotChunk) returns (tendermint.abci.ResponseLoadSnapshotChunk);
   130    rpc ApplySnapshotChunk(tendermint.abci.RequestApplySnapshotChunk) returns (tendermint.abci.ResponseApplySnapshotChunk);
   131    rpc BeginRecheckTx(RequestBeginRecheckTx) returns (ResponseBeginRecheckTx);
   132    rpc EndRecheckTx(RequestEndRecheckTx) returns (ResponseEndRecheckTx);
   133  }