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