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.

41 lines
895 B

  1. syntax = "proto3";
  2. package tendermint.crypto;
  3. option go_package = "github.com/tendermint/tendermint/proto/tendermint/crypto";
  4. import "gogoproto/gogo.proto";
  5. message Proof {
  6. int64 total = 1;
  7. int64 index = 2;
  8. bytes leaf_hash = 3;
  9. repeated bytes aunts = 4;
  10. }
  11. message ValueOp {
  12. // Encoded in ProofOp.Key.
  13. bytes key = 1;
  14. // To encode in ProofOp.Data
  15. Proof proof = 2;
  16. }
  17. message DominoOp {
  18. string key = 1;
  19. string input = 2;
  20. string output = 3;
  21. }
  22. // ProofOp defines an operation used for calculating Merkle root
  23. // The data could be arbitrary format, providing nessecary data
  24. // for example neighbouring node hash
  25. message ProofOp {
  26. string type = 1;
  27. bytes key = 2;
  28. bytes data = 3;
  29. }
  30. // ProofOps is Merkle proof defined by the list of ProofOps
  31. message ProofOps {
  32. repeated ProofOp ops = 1 [(gogoproto.nullable) = false];
  33. }