You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
834 B

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