2022-01-08 00:39:27 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
package tendermint.crypto;
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
option go_package = "github.com/cometbft/cometbft/proto/tendermint/crypto";
|
2022-01-08 00:39:27 +00:00
|
|
|
|
|
|
|
import "gogoproto/gogo.proto";
|
|
|
|
|
|
|
|
message Proof {
|
|
|
|
int64 total = 1;
|
|
|
|
int64 index = 2;
|
|
|
|
bytes leaf_hash = 3;
|
|
|
|
repeated bytes aunts = 4;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ValueOp {
|
|
|
|
// Encoded in ProofOp.Key.
|
|
|
|
bytes key = 1;
|
|
|
|
|
|
|
|
// To encode in ProofOp.Data
|
|
|
|
Proof proof = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message DominoOp {
|
|
|
|
string key = 1;
|
|
|
|
string input = 2;
|
|
|
|
string output = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
// 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;
|
|
|
|
}
|
|
|
|
|
|
|
|
// ProofOps is Merkle proof defined by the list of ProofOps
|
|
|
|
message ProofOps {
|
|
|
|
repeated ProofOp ops = 1 [(gogoproto.nullable) = false];
|
|
|
|
}
|