miden_node_proto/generated/note.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
// This file is @generated by prost-build.
/// Represents a note's metadata.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NoteMetadata {
/// The account which sent the note.
#[prost(message, optional, tag = "1")]
pub sender: ::core::option::Option<super::account::AccountId>,
/// The type of the note (0b01 = public, 0b10 = private, 0b11 = encrypted).
#[prost(uint32, tag = "2")]
pub note_type: u32,
/// A value which can be used by the recipient(s) to identify notes intended for them.
///
/// See `miden_objects::note::note_tag` for more info.
#[prost(fixed32, tag = "3")]
pub tag: u32,
/// Specifies when a note is ready to be consumed.
///
/// See `miden_objects::note::execution_hint` for more info.
#[prost(fixed64, tag = "4")]
pub execution_hint: u64,
/// An arbitrary user-defined value.
#[prost(fixed64, tag = "5")]
pub aux: u64,
}
/// Represents a note.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Note {
/// The block number in which the note was created.
#[prost(fixed32, tag = "1")]
pub block_num: u32,
/// The index of the note in the block.
#[prost(uint32, tag = "2")]
pub note_index: u32,
/// The ID of the note.
#[prost(message, optional, tag = "3")]
pub note_id: ::core::option::Option<super::digest::Digest>,
/// The note's metadata.
#[prost(message, optional, tag = "4")]
pub metadata: ::core::option::Option<NoteMetadata>,
/// The note's inclusion proof in the block.
#[prost(message, optional, tag = "5")]
pub merkle_path: ::core::option::Option<super::merkle::MerklePath>,
/// Serialized details of the public note (empty for private notes).
#[prost(bytes = "vec", optional, tag = "6")]
pub details: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
}
/// Represents a proof of note's inclusion in a block.
///
/// Does not include proof of the block's inclusion in the chain.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NoteInclusionInBlockProof {
/// A unique identifier of the note which is a 32-byte commitment to the underlying note data.
#[prost(message, optional, tag = "1")]
pub note_id: ::core::option::Option<super::digest::Digest>,
/// The block number in which the note was created.
#[prost(fixed32, tag = "2")]
pub block_num: u32,
/// The index of the note in the block.
#[prost(uint32, tag = "3")]
pub note_index_in_block: u32,
/// The note's inclusion proof in the block.
#[prost(message, optional, tag = "4")]
pub merkle_path: ::core::option::Option<super::merkle::MerklePath>,
}
/// Represents proof of a note inclusion in the block.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NoteSyncRecord {
/// The index of the note.
#[prost(uint32, tag = "1")]
pub note_index: u32,
/// A unique identifier of the note which is a 32-byte commitment to the underlying note data.
#[prost(message, optional, tag = "2")]
pub note_id: ::core::option::Option<super::digest::Digest>,
/// The note's metadata.
#[prost(message, optional, tag = "3")]
pub metadata: ::core::option::Option<NoteMetadata>,
/// The note's inclusion proof in the block.
#[prost(message, optional, tag = "4")]
pub merkle_path: ::core::option::Option<super::merkle::MerklePath>,
}
/// Represents proof of notes inclusion in the block(s) and block(s) inclusion in the chain.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NoteAuthenticationInfo {
/// Proof of each note's inclusion in a block.
#[prost(message, repeated, tag = "1")]
pub note_proofs: ::prost::alloc::vec::Vec<NoteInclusionInBlockProof>,
/// Proof of each block's inclusion in the chain.
#[prost(message, repeated, tag = "2")]
pub block_proofs: ::prost::alloc::vec::Vec<super::block::BlockInclusionProof>,
}