// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.26.0
// 	protoc        v3.9.1
// source: merkletree.proto

package types

import (
	reflect "reflect"
	sync "sync"

	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

//子树用高度和hash描述，2^10=1024个叶子节点，子树高度不会超过10
type CommitSubTree struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Height int32  `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	Hash   []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
}

func (x *CommitSubTree) Reset() {
	*x = CommitSubTree{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CommitSubTree) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CommitSubTree) ProtoMessage() {}

func (x *CommitSubTree) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CommitSubTree.ProtoReflect.Descriptor instead.
func (*CommitSubTree) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{0}
}

func (x *CommitSubTree) GetHeight() int32 {
	if x != nil {
		return x.Height
	}
	return 0
}

func (x *CommitSubTree) GetHash() []byte {
	if x != nil {
		return x.Hash
	}
	return nil
}

//merkel tree由子树和叶子组成，三种场景:1,初始只一个叶子, 2,全是子树, 3,子树加一个叶子，不会有两个叶子，两个叶子一定构成子树
type CommitSubTrees struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SubTrees []*CommitSubTree `protobuf:"bytes,1,rep,name=subTrees,proto3" json:"subTrees,omitempty"`
}

func (x *CommitSubTrees) Reset() {
	*x = CommitSubTrees{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CommitSubTrees) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CommitSubTrees) ProtoMessage() {}

func (x *CommitSubTrees) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CommitSubTrees.ProtoReflect.Descriptor instead.
func (*CommitSubTrees) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{1}
}

func (x *CommitSubTrees) GetSubTrees() []*CommitSubTree {
	if x != nil {
		return x.SubTrees
	}
	return nil
}

//描述当前commitTree的状态
//一颗merkel树1024叶子，考虑数据库读取原因，每个叶子都会存到相应seq db，待第1024次时候归档，重新开始新的merkle树，
type CommitTreeStatus struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SubTrees *CommitSubTrees `protobuf:"bytes,1,opt,name=subTrees,proto3" json:"subTrees,omitempty"`
	//1~1024叶子的归档
	SubLeavesSeq int32 `protobuf:"varint,2,opt,name=subLeavesSeq,proto3" json:"subLeavesSeq,omitempty"`
	//root的归档 从1开始,数据库占位，不然全空会往前搜索
	ArchiveRootsSeq uint64 `protobuf:"varint,3,opt,name=archiveRootsSeq,proto3" json:"archiveRootsSeq,omitempty"`
	AssetExec       string `protobuf:"bytes,4,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
	AssetSymbol     string `protobuf:"bytes,5,opt,name=assetSymbol,proto3" json:"assetSymbol,omitempty"`
}

func (x *CommitTreeStatus) Reset() {
	*x = CommitTreeStatus{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CommitTreeStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CommitTreeStatus) ProtoMessage() {}

func (x *CommitTreeStatus) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CommitTreeStatus.ProtoReflect.Descriptor instead.
func (*CommitTreeStatus) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{2}
}

func (x *CommitTreeStatus) GetSubTrees() *CommitSubTrees {
	if x != nil {
		return x.SubTrees
	}
	return nil
}

func (x *CommitTreeStatus) GetSubLeavesSeq() int32 {
	if x != nil {
		return x.SubLeavesSeq
	}
	return 0
}

func (x *CommitTreeStatus) GetArchiveRootsSeq() uint64 {
	if x != nil {
		return x.ArchiveRootsSeq
	}
	return 0
}

func (x *CommitTreeStatus) GetAssetExec() string {
	if x != nil {
		return x.AssetExec
	}
	return ""
}

func (x *CommitTreeStatus) GetAssetSymbol() string {
	if x != nil {
		return x.AssetSymbol
	}
	return ""
}

type ReceiptCommitTreeStatus struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Prev    *CommitTreeStatus `protobuf:"bytes,1,opt,name=prev,proto3" json:"prev,omitempty"`
	Current *CommitTreeStatus `protobuf:"bytes,2,opt,name=current,proto3" json:"current,omitempty"`
}

func (x *ReceiptCommitTreeStatus) Reset() {
	*x = ReceiptCommitTreeStatus{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReceiptCommitTreeStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReceiptCommitTreeStatus) ProtoMessage() {}

func (x *ReceiptCommitTreeStatus) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReceiptCommitTreeStatus.ProtoReflect.Descriptor instead.
func (*ReceiptCommitTreeStatus) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{3}
}

func (x *ReceiptCommitTreeStatus) GetPrev() *CommitTreeStatus {
	if x != nil {
		return x.Prev
	}
	return nil
}

func (x *ReceiptCommitTreeStatus) GetCurrent() *CommitTreeStatus {
	if x != nil {
		return x.Current
	}
	return nil
}

type ReceiptCommitSubLeaves struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Seq  int32  `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"`
	Leaf string `protobuf:"bytes,2,opt,name=leaf,proto3" json:"leaf,omitempty"`
}

func (x *ReceiptCommitSubLeaves) Reset() {
	*x = ReceiptCommitSubLeaves{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReceiptCommitSubLeaves) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReceiptCommitSubLeaves) ProtoMessage() {}

func (x *ReceiptCommitSubLeaves) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReceiptCommitSubLeaves.ProtoReflect.Descriptor instead.
func (*ReceiptCommitSubLeaves) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{4}
}

func (x *ReceiptCommitSubLeaves) GetSeq() int32 {
	if x != nil {
		return x.Seq
	}
	return 0
}

func (x *ReceiptCommitSubLeaves) GetLeaf() string {
	if x != nil {
		return x.Leaf
	}
	return ""
}

type ReceiptCommitSubRoots struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Seq  int32  `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"`
	Root string `protobuf:"bytes,2,opt,name=root,proto3" json:"root,omitempty"`
}

func (x *ReceiptCommitSubRoots) Reset() {
	*x = ReceiptCommitSubRoots{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReceiptCommitSubRoots) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReceiptCommitSubRoots) ProtoMessage() {}

func (x *ReceiptCommitSubRoots) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReceiptCommitSubRoots.ProtoReflect.Descriptor instead.
func (*ReceiptCommitSubRoots) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{5}
}

func (x *ReceiptCommitSubRoots) GetSeq() int32 {
	if x != nil {
		return x.Seq
	}
	return 0
}

func (x *ReceiptCommitSubRoots) GetRoot() string {
	if x != nil {
		return x.Root
	}
	return ""
}

type ReceiptArchiveLeaves struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Count    int32  `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
	RootHash string `protobuf:"bytes,2,opt,name=rootHash,proto3" json:"rootHash,omitempty"`
	LastLeaf string `protobuf:"bytes,3,opt,name=lastLeaf,proto3" json:"lastLeaf,omitempty"`
}

func (x *ReceiptArchiveLeaves) Reset() {
	*x = ReceiptArchiveLeaves{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReceiptArchiveLeaves) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReceiptArchiveLeaves) ProtoMessage() {}

func (x *ReceiptArchiveLeaves) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReceiptArchiveLeaves.ProtoReflect.Descriptor instead.
func (*ReceiptArchiveLeaves) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{6}
}

func (x *ReceiptArchiveLeaves) GetCount() int32 {
	if x != nil {
		return x.Count
	}
	return 0
}

func (x *ReceiptArchiveLeaves) GetRootHash() string {
	if x != nil {
		return x.RootHash
	}
	return ""
}

func (x *ReceiptArchiveLeaves) GetLastLeaf() string {
	if x != nil {
		return x.LastLeaf
	}
	return ""
}

type ReceiptArchiveTreeRoot struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Seq      uint64 `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"`
	RootHash string `protobuf:"bytes,2,opt,name=rootHash,proto3" json:"rootHash,omitempty"`
}

func (x *ReceiptArchiveTreeRoot) Reset() {
	*x = ReceiptArchiveTreeRoot{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReceiptArchiveTreeRoot) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReceiptArchiveTreeRoot) ProtoMessage() {}

func (x *ReceiptArchiveTreeRoot) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReceiptArchiveTreeRoot.ProtoReflect.Descriptor instead.
func (*ReceiptArchiveTreeRoot) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{7}
}

func (x *ReceiptArchiveTreeRoot) GetSeq() uint64 {
	if x != nil {
		return x.Seq
	}
	return 0
}

func (x *ReceiptArchiveTreeRoot) GetRootHash() string {
	if x != nil {
		return x.RootHash
	}
	return ""
}

type CommitTreeLeaves struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Leaves [][]byte `protobuf:"bytes,1,rep,name=leaves,proto3" json:"leaves,omitempty"`
}

func (x *CommitTreeLeaves) Reset() {
	*x = CommitTreeLeaves{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CommitTreeLeaves) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CommitTreeLeaves) ProtoMessage() {}

func (x *CommitTreeLeaves) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CommitTreeLeaves.ProtoReflect.Descriptor instead.
func (*CommitTreeLeaves) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{8}
}

func (x *CommitTreeLeaves) GetLeaves() [][]byte {
	if x != nil {
		return x.Leaves
	}
	return nil
}

type CommitTreeRoots struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Roots [][]byte `protobuf:"bytes,1,rep,name=roots,proto3" json:"roots,omitempty"`
}

func (x *CommitTreeRoots) Reset() {
	*x = CommitTreeRoots{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CommitTreeRoots) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CommitTreeRoots) ProtoMessage() {}

func (x *CommitTreeRoots) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CommitTreeRoots.ProtoReflect.Descriptor instead.
func (*CommitTreeRoots) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{9}
}

func (x *CommitTreeRoots) GetRoots() [][]byte {
	if x != nil {
		return x.Roots
	}
	return nil
}

type CommitTreeProve struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	RootHash   string   `protobuf:"bytes,1,opt,name=rootHash,proto3" json:"rootHash,omitempty"`
	ProofSet   []string `protobuf:"bytes,2,rep,name=proofSet,proto3" json:"proofSet,omitempty"`
	ProofIndex uint32   `protobuf:"varint,3,opt,name=proofIndex,proto3" json:"proofIndex,omitempty"`
	NumLeaves  uint32   `protobuf:"varint,4,opt,name=numLeaves,proto3" json:"numLeaves,omitempty"`
	Helpers    []uint32 `protobuf:"varint,5,rep,packed,name=helpers,proto3" json:"helpers,omitempty"`
}

func (x *CommitTreeProve) Reset() {
	*x = CommitTreeProve{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CommitTreeProve) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CommitTreeProve) ProtoMessage() {}

func (x *CommitTreeProve) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CommitTreeProve.ProtoReflect.Descriptor instead.
func (*CommitTreeProve) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{10}
}

func (x *CommitTreeProve) GetRootHash() string {
	if x != nil {
		return x.RootHash
	}
	return ""
}

func (x *CommitTreeProve) GetProofSet() []string {
	if x != nil {
		return x.ProofSet
	}
	return nil
}

func (x *CommitTreeProve) GetProofIndex() uint32 {
	if x != nil {
		return x.ProofIndex
	}
	return 0
}

func (x *CommitTreeProve) GetNumLeaves() uint32 {
	if x != nil {
		return x.NumLeaves
	}
	return 0
}

func (x *CommitTreeProve) GetHelpers() []uint32 {
	if x != nil {
		return x.Helpers
	}
	return nil
}

type TreeInfoReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	RootHash    string `protobuf:"bytes,1,opt,name=rootHash,proto3" json:"rootHash,omitempty"`
	LeafHash    string `protobuf:"bytes,2,opt,name=leafHash,proto3" json:"leafHash,omitempty"`
	AssetExec   string `protobuf:"bytes,3,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
	AssetSymbol string `protobuf:"bytes,4,opt,name=assetSymbol,proto3" json:"assetSymbol,omitempty"`
	RootHeight  uint64 `protobuf:"varint,5,opt,name=rootHeight,proto3" json:"rootHeight,omitempty"`
}

func (x *TreeInfoReq) Reset() {
	*x = TreeInfoReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TreeInfoReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TreeInfoReq) ProtoMessage() {}

func (x *TreeInfoReq) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TreeInfoReq.ProtoReflect.Descriptor instead.
func (*TreeInfoReq) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{11}
}

func (x *TreeInfoReq) GetRootHash() string {
	if x != nil {
		return x.RootHash
	}
	return ""
}

func (x *TreeInfoReq) GetLeafHash() string {
	if x != nil {
		return x.LeafHash
	}
	return ""
}

func (x *TreeInfoReq) GetAssetExec() string {
	if x != nil {
		return x.AssetExec
	}
	return ""
}

func (x *TreeInfoReq) GetAssetSymbol() string {
	if x != nil {
		return x.AssetSymbol
	}
	return ""
}

func (x *TreeInfoReq) GetRootHeight() uint64 {
	if x != nil {
		return x.RootHeight
	}
	return 0
}

type TreeListResp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Leaves []string `protobuf:"bytes,1,rep,name=leaves,proto3" json:"leaves,omitempty"`
}

func (x *TreeListResp) Reset() {
	*x = TreeListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TreeListResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TreeListResp) ProtoMessage() {}

func (x *TreeListResp) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TreeListResp.ProtoReflect.Descriptor instead.
func (*TreeListResp) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{12}
}

func (x *TreeListResp) GetLeaves() []string {
	if x != nil {
		return x.Leaves
	}
	return nil
}

type RootListResp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Roots []string `protobuf:"bytes,1,rep,name=roots,proto3" json:"roots,omitempty"`
}

func (x *RootListResp) Reset() {
	*x = RootListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RootListResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RootListResp) ProtoMessage() {}

func (x *RootListResp) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RootListResp.ProtoReflect.Descriptor instead.
func (*RootListResp) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{13}
}

func (x *RootListResp) GetRoots() []string {
	if x != nil {
		return x.Roots
	}
	return nil
}

type SubTreeResp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Height int32  `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	Hash   string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
}

func (x *SubTreeResp) Reset() {
	*x = SubTreeResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SubTreeResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SubTreeResp) ProtoMessage() {}

func (x *SubTreeResp) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubTreeResp.ProtoReflect.Descriptor instead.
func (*SubTreeResp) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{14}
}

func (x *SubTreeResp) GetHeight() int32 {
	if x != nil {
		return x.Height
	}
	return 0
}

func (x *SubTreeResp) GetHash() string {
	if x != nil {
		return x.Hash
	}
	return ""
}

type TreeStatusResp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SubLeavesSeq    int32          `protobuf:"varint,1,opt,name=subLeavesSeq,proto3" json:"subLeavesSeq,omitempty"`
	ArchiveRootsSeq uint64         `protobuf:"varint,2,opt,name=archiveRootsSeq,proto3" json:"archiveRootsSeq,omitempty"`
	SubTrees        []*SubTreeResp `protobuf:"bytes,3,rep,name=subTrees,proto3" json:"subTrees,omitempty"`
}

func (x *TreeStatusResp) Reset() {
	*x = TreeStatusResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TreeStatusResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TreeStatusResp) ProtoMessage() {}

func (x *TreeStatusResp) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TreeStatusResp.ProtoReflect.Descriptor instead.
func (*TreeStatusResp) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{15}
}

func (x *TreeStatusResp) GetSubLeavesSeq() int32 {
	if x != nil {
		return x.SubLeavesSeq
	}
	return 0
}

func (x *TreeStatusResp) GetArchiveRootsSeq() uint64 {
	if x != nil {
		return x.ArchiveRootsSeq
	}
	return 0
}

func (x *TreeStatusResp) GetSubTrees() []*SubTreeResp {
	if x != nil {
		return x.SubTrees
	}
	return nil
}

type TreePathProof struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TreeRootHash string   `protobuf:"bytes,1,opt,name=treeRootHash,proto3" json:"treeRootHash,omitempty"`
	TreePath     []string `protobuf:"bytes,2,rep,name=treePath,proto3" json:"treePath,omitempty"`
	Helpers      []uint32 `protobuf:"varint,3,rep,packed,name=helpers,proto3" json:"helpers,omitempty"`
}

func (x *TreePathProof) Reset() {
	*x = TreePathProof{}
	if protoimpl.UnsafeEnabled {
		mi := &file_merkletree_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TreePathProof) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TreePathProof) ProtoMessage() {}

func (x *TreePathProof) ProtoReflect() protoreflect.Message {
	mi := &file_merkletree_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TreePathProof.ProtoReflect.Descriptor instead.
func (*TreePathProof) Descriptor() ([]byte, []int) {
	return file_merkletree_proto_rawDescGZIP(), []int{16}
}

func (x *TreePathProof) GetTreeRootHash() string {
	if x != nil {
		return x.TreeRootHash
	}
	return ""
}

func (x *TreePathProof) GetTreePath() []string {
	if x != nil {
		return x.TreePath
	}
	return nil
}

func (x *TreePathProof) GetHelpers() []uint32 {
	if x != nil {
		return x.Helpers
	}
	return nil
}

var File_merkletree_proto protoreflect.FileDescriptor

var file_merkletree_proto_rawDesc = []byte{
	0x0a, 0x10, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x74, 0x72, 0x65, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x12, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x3b, 0x0a, 0x0d, 0x43, 0x6f, 0x6d,
	0x6d, 0x69, 0x74, 0x53, 0x75, 0x62, 0x54, 0x72, 0x65, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65,
	0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67,
	0x68, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x42, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
	0x53, 0x75, 0x62, 0x54, 0x72, 0x65, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x54,
	0x72, 0x65, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x79, 0x70,
	0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x75, 0x62, 0x54, 0x72, 0x65, 0x65,
	0x52, 0x08, 0x73, 0x75, 0x62, 0x54, 0x72, 0x65, 0x65, 0x73, 0x22, 0xd3, 0x01, 0x0a, 0x10, 0x43,
	0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x31, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x54, 0x72, 0x65, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x15, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
	0x53, 0x75, 0x62, 0x54, 0x72, 0x65, 0x65, 0x73, 0x52, 0x08, 0x73, 0x75, 0x62, 0x54, 0x72, 0x65,
	0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x53,
	0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x4c, 0x65, 0x61,
	0x76, 0x65, 0x73, 0x53, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76,
	0x65, 0x52, 0x6f, 0x6f, 0x74, 0x73, 0x53, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x73, 0x53, 0x65, 0x71,
	0x12, 0x1c, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x45, 0x78, 0x65, 0x63, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x45, 0x78, 0x65, 0x63, 0x12, 0x20,
	0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c,
	0x22, 0x79, 0x0a, 0x17, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69,
	0x74, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x0a, 0x04, 0x70,
	0x72, 0x65, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65,
	0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x52, 0x04, 0x70, 0x72, 0x65, 0x76, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72,
	0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65,
	0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x0a, 0x16, 0x52,
	0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x75, 0x62, 0x4c,
	0x65, 0x61, 0x76, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x22, 0x3d, 0x0a, 0x15, 0x52,
	0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x75, 0x62, 0x52,
	0x6f, 0x6f, 0x74, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x64, 0x0a, 0x14, 0x52, 0x65,
	0x63, 0x65, 0x69, 0x70, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x61, 0x76,
	0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f, 0x6f, 0x74,
	0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74,
	0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x65, 0x61, 0x66,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x65, 0x61, 0x66,
	0x22, 0x46, 0x0a, 0x16, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69,
	0x76, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65,
	0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08,
	0x72, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x72, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x22, 0x2a, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d,
	0x69, 0x74, 0x54, 0x72, 0x65, 0x65, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06,
	0x6c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x6c, 0x65,
	0x61, 0x76, 0x65, 0x73, 0x22, 0x27, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x72,
	0x65, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x74, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x74, 0x73, 0x22, 0xa1, 0x01,
	0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x76,
	0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a,
	0x08, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x53, 0x65, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x08, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x53, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
	0x6f, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70,
	0x72, 0x6f, 0x6f, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x75, 0x6d,
	0x4c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6e, 0x75,
	0x6d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x6c, 0x70, 0x65,
	0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72,
	0x73, 0x22, 0xa5, 0x01, 0x0a, 0x0b, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
	0x71, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a,
	0x08, 0x6c, 0x65, 0x61, 0x66, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x6c, 0x65, 0x61, 0x66, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x73, 0x73,
	0x65, 0x74, 0x45, 0x78, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73,
	0x73, 0x65, 0x74, 0x45, 0x78, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74,
	0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x73,
	0x73, 0x65, 0x74, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x6f, 0x6f,
	0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72,
	0x6f, 0x6f, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x26, 0x0a, 0x0c, 0x54, 0x72, 0x65,
	0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x61,
	0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x65, 0x61, 0x76, 0x65,
	0x73, 0x22, 0x24, 0x0a, 0x0c, 0x52, 0x6f, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x05, 0x72, 0x6f, 0x6f, 0x74, 0x73, 0x22, 0x39, 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x54, 0x72,
	0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x12,
	0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61,
	0x73, 0x68, 0x22, 0x8e, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x4c, 0x65, 0x61, 0x76,
	0x65, 0x73, 0x53, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x75, 0x62,
	0x4c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x53, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x72, 0x63,
	0x68, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x73, 0x53, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x73,
	0x53, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x54, 0x72, 0x65, 0x65, 0x73, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x75,
	0x62, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x73, 0x75, 0x62, 0x54, 0x72,
	0x65, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x0d, 0x54, 0x72, 0x65, 0x65, 0x50, 0x61, 0x74, 0x68, 0x50,
	0x72, 0x6f, 0x6f, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x65, 0x65, 0x52, 0x6f, 0x6f, 0x74,
	0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x65, 0x65,
	0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x72, 0x65, 0x65,
	0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x65, 0x65,
	0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x42, 0x0a,
	0x5a, 0x08, 0x2e, 0x2e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x33,
}

var (
	file_merkletree_proto_rawDescOnce sync.Once
	file_merkletree_proto_rawDescData = file_merkletree_proto_rawDesc
)

func file_merkletree_proto_rawDescGZIP() []byte {
	file_merkletree_proto_rawDescOnce.Do(func() {
		file_merkletree_proto_rawDescData = protoimpl.X.CompressGZIP(file_merkletree_proto_rawDescData)
	})
	return file_merkletree_proto_rawDescData
}

var file_merkletree_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
var file_merkletree_proto_goTypes = []interface{}{
	(*CommitSubTree)(nil),           // 0: types.CommitSubTree
	(*CommitSubTrees)(nil),          // 1: types.CommitSubTrees
	(*CommitTreeStatus)(nil),        // 2: types.CommitTreeStatus
	(*ReceiptCommitTreeStatus)(nil), // 3: types.ReceiptCommitTreeStatus
	(*ReceiptCommitSubLeaves)(nil),  // 4: types.ReceiptCommitSubLeaves
	(*ReceiptCommitSubRoots)(nil),   // 5: types.ReceiptCommitSubRoots
	(*ReceiptArchiveLeaves)(nil),    // 6: types.ReceiptArchiveLeaves
	(*ReceiptArchiveTreeRoot)(nil),  // 7: types.ReceiptArchiveTreeRoot
	(*CommitTreeLeaves)(nil),        // 8: types.CommitTreeLeaves
	(*CommitTreeRoots)(nil),         // 9: types.CommitTreeRoots
	(*CommitTreeProve)(nil),         // 10: types.CommitTreeProve
	(*TreeInfoReq)(nil),             // 11: types.TreeInfoReq
	(*TreeListResp)(nil),            // 12: types.TreeListResp
	(*RootListResp)(nil),            // 13: types.RootListResp
	(*SubTreeResp)(nil),             // 14: types.SubTreeResp
	(*TreeStatusResp)(nil),          // 15: types.TreeStatusResp
	(*TreePathProof)(nil),           // 16: types.TreePathProof
}
var file_merkletree_proto_depIdxs = []int32{
	0,  // 0: types.CommitSubTrees.subTrees:type_name -> types.CommitSubTree
	1,  // 1: types.CommitTreeStatus.subTrees:type_name -> types.CommitSubTrees
	2,  // 2: types.ReceiptCommitTreeStatus.prev:type_name -> types.CommitTreeStatus
	2,  // 3: types.ReceiptCommitTreeStatus.current:type_name -> types.CommitTreeStatus
	14, // 4: types.TreeStatusResp.subTrees:type_name -> types.SubTreeResp
	5,  // [5:5] is the sub-list for method output_type
	5,  // [5:5] is the sub-list for method input_type
	5,  // [5:5] is the sub-list for extension type_name
	5,  // [5:5] is the sub-list for extension extendee
	0,  // [0:5] is the sub-list for field type_name
}

func init() { file_merkletree_proto_init() }
func file_merkletree_proto_init() {
	if File_merkletree_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_merkletree_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CommitSubTree); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CommitSubTrees); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CommitTreeStatus); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReceiptCommitTreeStatus); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReceiptCommitSubLeaves); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReceiptCommitSubRoots); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReceiptArchiveLeaves); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReceiptArchiveTreeRoot); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CommitTreeLeaves); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CommitTreeRoots); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CommitTreeProve); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TreeInfoReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TreeListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RootListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SubTreeResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TreeStatusResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_merkletree_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TreePathProof); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_merkletree_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   17,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_merkletree_proto_goTypes,
		DependencyIndexes: file_merkletree_proto_depIdxs,
		MessageInfos:      file_merkletree_proto_msgTypes,
	}.Build()
	File_merkletree_proto = out.File
	file_merkletree_proto_rawDesc = nil
	file_merkletree_proto_goTypes = nil
	file_merkletree_proto_depIdxs = nil
}
