akd 0.7.7

An implementation of an auditable key directory
Documentation
// Copyright (c) Meta Platforms, Inc. and affiliates.
//
// This source code is licensed under both the MIT license found in the
// LICENSE-MIT file in the root directory of this source tree and the Apache
// License, Version 2.0 found in the LICENSE-APACHE file in the root directory
// of this source tree.

// This contains the protobuf definition for inter-node messaging structures

// Note: install a proper version of protobuf-codegen before re-generating
// protobuf-codegen --version 2.8.1
// Instructions: https://github.com/stepancheg/rust-protobuf/tree/master/protobuf-codegen
// MAKE SURE to cargo install the right version: cargo install protobuf-codegen --version =2.8.1

// Command to re-generate (from 'proto' directory):
// protoc --rust_out . audit.proto

syntax = "proto2";

/* NodeLabel represents the label of a history tree node in the AKD tree with a
 * supplied label-length and label value (location) */
message NodeLabel {
    optional bytes label_val = 1;
    optional uint32 label_len = 2;
}

/* Node represents the "label" (location) of the node along with its associated hash */
message Node {
    optional NodeLabel label = 1;
    optional bytes hash = 2;
}

/* SingleEncodedProof represents a proof that no leaves were changed or removed between epoch t and t + 1 */
message SingleEncodedProof {
    repeated Node inserted = 1;
    repeated Node unchanged = 2;
}