github.com/evdatsion/aphelion-dpos-bft@v0.32.1/crypto/merkle/merkle.proto (about)

     1  syntax = "proto3";
     2  package merkle;
     3  
     4  // For more information on gogo.proto, see:
     5  // https://github.com/gogo/protobuf/blob/master/extensions.md
     6  import "github.com/gogo/protobuf/gogoproto/gogo.proto";
     7  
     8  option (gogoproto.marshaler_all) = true;
     9  option (gogoproto.unmarshaler_all) = true;
    10  option (gogoproto.sizer_all) = true;
    11  
    12  option (gogoproto.populate_all) = true;
    13  option (gogoproto.equal_all) = true;
    14  
    15  //----------------------------------------
    16  // Message types
    17  
    18  // ProofOp defines an operation used for calculating Merkle root
    19  // The data could be arbitrary format, providing nessecary data
    20  // for example neighbouring node hash
    21  message ProofOp {
    22    string type = 1;
    23    bytes key = 2;
    24    bytes data = 3;
    25  }
    26  
    27  // Proof is Merkle proof defined by the list of ProofOps
    28  message Proof {
    29    repeated ProofOp ops = 1 [(gogoproto.nullable)=false];
    30  }