pub enum InputID<N: Network> {
Constant(Field<N>),
Public(Field<N>),
Private(Field<N>),
Record(Field<N>, Group<N>, Field<N>, Field<N>, Field<N>),
ExternalRecord(Field<N>),
DynamicRecord(Field<N>),
}Variants§
Constant(Field<N>)
The hash of the constant input.
Public(Field<N>)
The hash of the public input.
Private(Field<N>)
The ciphertext hash of the private input.
Record(Field<N>, Group<N>, Field<N>, Field<N>, Field<N>)
The commitment, gamma, record view key, serial number, and tag of the record input.
ExternalRecord(Field<N>)
The hash of the external record’s (function_id, record, tvk, input index).
DynamicRecord(Field<N>)
The hash of the dynamic record’s (function_id, record, tvk, input index).
Implementations§
Source§impl<N: Network> InputID<N>
impl<N: Network> InputID<N>
Sourcepub fn constant(
function_id: Field<N>,
input: &Value<N>,
tcm: Field<N>,
index: u16,
) -> Result<Self>
pub fn constant( function_id: Field<N>, input: &Value<N>, tcm: Field<N>, index: u16, ) -> Result<Self>
Computes the input ID for a constant input.
Constructs the preimage as (function_id || input || tcm || index) and hashes it.
Sourcepub fn public(
function_id: Field<N>,
input: &Value<N>,
tcm: Field<N>,
index: u16,
) -> Result<Self>
pub fn public( function_id: Field<N>, input: &Value<N>, tcm: Field<N>, index: u16, ) -> Result<Self>
Computes the input ID for a public input.
Constructs the preimage as (function_id || input || tcm || index) and hashes it.
Sourcepub fn private(
function_id: Field<N>,
input: &Value<N>,
tvk: Field<N>,
index: u16,
) -> Result<Self>
pub fn private( function_id: Field<N>, input: &Value<N>, tvk: Field<N>, index: u16, ) -> Result<Self>
Computes the input ID for a private input. Encrypts the input using the input view key and hashes the ciphertext.
Sourcepub fn record(
program_id: &ProgramID<N>,
record_name: &Identifier<N>,
input: &Value<N>,
signer: &Address<N>,
view_key: &ViewKey<N>,
sk_sig: &Scalar<N>,
sk_tag: Field<N>,
) -> Result<Self>
pub fn record( program_id: &ProgramID<N>, record_name: &Identifier<N>, input: &Value<N>, signer: &Address<N>, view_key: &ViewKey<N>, sk_sig: &Scalar<N>, sk_tag: Field<N>, ) -> Result<Self>
Computes the input ID for a record input. Returns the full InputID::Record variant with commitment, gamma, record view key, serial number, and tag.
Trait Implementations§
Source§impl<'de, N: Network> Deserialize<'de> for InputID<N>
impl<'de, N: Network> Deserialize<'de> for InputID<N>
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserializes the input ID from a string or bytes.
Source§impl<N: Network> FromBytes for InputID<N>
impl<N: Network> FromBytes for InputID<N>
Source§fn from_bytes_le(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
fn from_bytes_le(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
Self from a byte array in little-endian order.Source§fn from_bytes_le_unchecked(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
fn from_bytes_le_unchecked(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
Self::from_bytes_le but avoids costly checks.
This shall only be called when deserializing from a trusted source, such as local storage. Read moreSource§fn read_le_unchecked<R>(reader: R) -> Result<Self, Error>
fn read_le_unchecked<R>(reader: R) -> Result<Self, Error>
Self::read_le but avoids costly checks.
This shall only be called when deserializing from a trusted source, such as local storage. Read moreimpl<N: Copy + Network> Copy for InputID<N>
impl<N: Eq + Network> Eq for InputID<N>
impl<N: Network> StructuralPartialEq for InputID<N>
Auto Trait Implementations§
impl<N> Freeze for InputID<N>
impl<N> RefUnwindSafe for InputID<N>
impl<N> Send for InputID<N>
impl<N> Sync for InputID<N>
impl<N> Unpin for InputID<N>
impl<N> UnsafeUnpin for InputID<N>
impl<N> UnwindSafe for InputID<N>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'de, T> DeserializeExt<'de> for Twhere
T: DeserializeOwned,
impl<'de, T> DeserializeExt<'de> for Twhere
T: DeserializeOwned,
fn take_from_value<D>(
value: &mut Value,
field: &str,
) -> Result<T, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more