// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef NET_CERT_MERKLE_CONSISTENCY_PROOF_H_
#define NET_CERT_MERKLE_CONSISTENCY_PROOF_H_

#include <stdint.h>

#include <string>
#include <vector>

#include "net/base/net_export.h"

namespace net {

namespace ct {

// Consistency proof between two STHs as defined in section 2.1.2. of RFC6962.
struct NET_EXPORT MerkleConsistencyProof {
  MerkleConsistencyProof();
  MerkleConsistencyProof(const std::string& log_id,
                         const std::vector<std::string>& proof_nodes,
                         uint64_t old_size,
                         uint64_t new_size);
  ~MerkleConsistencyProof();

  // The origin of this proof.
  std::string log_id;

  // Consistency proof nodes.
  std::vector<std::string> nodes;

  // Size of the older tree.
  uint64_t first_tree_size = 0;

  // Size of the newer tree.
  uint64_t second_tree_size = 0;
};

}  // namespace ct

}  // namespace net

#endif  // NET_CERT_MERKLE_CONSISTENCY_PROOF_H_
