Address

Struct Address 

Source
pub struct Address<E>(/* private fields */)
where
    E: Environment;

Implementations§

Source§

impl<E> Address<E>
where E: Environment,

Source

pub fn zero() -> Address<E>

Initializes the zero address.

Trait Implementations§

Source§

impl<E> Cast<Address<E>> for Boolean<E>
where E: Environment,

Source§

fn cast(&self) -> Address<E>

Casts a Boolean to an Address.

Source§

impl<E> Cast<Address<E>> for Field<E>
where E: Environment,

Source§

fn cast(&self) -> Address<E>

Casts a Field to an Address.

This operation attempts to recover the group element from the field element, and then constructs an address from the group element.

To cast arbitrary field elements to addresses, use Field::cast_lossy.

Source§

impl<E, I> Cast<Address<E>> for Integer<E, I>
where E: Environment, I: IntegerType,

Source§

fn cast(&self) -> Address<E>

Casts an Integer to an Address.

This operation converts the integer to a field element, and then attempts to recover the group element by treating the field element as an x-coordinate. The group element is then converted to an address.

To cast arbitrary integers to addresses, use Integer::cast_lossy.

Source§

impl<E> Cast<Address<E>> for Scalar<E>
where E: Environment,

Source§

fn cast(&self) -> Address<E>

Casts a Scalar to an Address.

This operation converts the scalar to a field element, and then attempts to recover the group element by treating the field element as an x-coordinate. The group element is then converted to an address.

To cast arbitrary scalars to addresses, use Scalar::cast_lossy.

Source§

impl<E> CastLossy<Address<E>> for Boolean<E>
where E: Environment,

Source§

fn cast_lossy(&self) -> Address<E>

Casts a Boolean to an Address. This is safe because casting from a boolean to any other type is always lossless.

If the boolean is true, the address is the generator of the prime-order subgroup. If the boolean is false, the address is the zero group element.

Source§

impl<E> CastLossy<Address<E>> for Field<E>
where E: Environment,

Source§

fn cast_lossy(&self) -> Address<E>

Casts a Field to an Address.

This operation attempts to recover the group element from the given field, which is then used to construct the address. See the documentation of Field::cast_lossy on the Group type for more details.

Source§

impl<E, I> CastLossy<Address<E>> for Integer<E, I>
where E: Environment, I: IntegerType,

Source§

fn cast_lossy(&self) -> Address<E>

Casts an Integer to an Address.

This operation converts the integer into a field element, and then attempts to recover the group element to construct the address. See the documentation of Field::cast_lossy on the Group type for more details.

Source§

impl<E> CastLossy<Address<E>> for Scalar<E>
where E: Environment,

Source§

fn cast_lossy(&self) -> Address<E>

Casts a Scalar to an Address.

This operation converts the scalar into a field element, and then attempts to recover the group element to construct the address. See the documentation of Field::cast_lossy on the Group type for more details.

Source§

impl<E> Clone for Address<E>
where E: Clone + Environment,

Source§

fn clone(&self) -> Address<E>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<E> Compare for Address<E>
where E: Environment,

Source§

fn is_less_than(&self, other: &Address<E>) -> <Address<E> as Compare>::Output

Returns true if self is less than other.

Source§

fn is_greater_than(&self, other: &Address<E>) -> <Address<E> as Compare>::Output

Returns true if self is greater than other.

Source§

fn is_less_than_or_equal( &self, other: &Address<E>, ) -> <Address<E> as Compare>::Output

Returns true if self is less than or equal to other.

Source§

fn is_greater_than_or_equal( &self, other: &Address<E>, ) -> <Address<E> as Compare>::Output

Returns true if self is greater than or equal to other.

Source§

type Output = Boolean<E>

Source§

impl<E> Debug for Address<E>
where E: Environment,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<E> Display for Address<E>
where E: Environment,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<E> Eject for Address<E>
where E: Environment,

Source§

fn eject_mode(&self) -> Mode

Ejects the mode of the address.

Source§

fn eject_value(&self) -> <Address<E> as Eject>::Primitive

Ejects the address.

Source§

type Primitive = Address<<E as Environment>::Network>

Source§

fn eject(&self) -> (Mode, Self::Primitive)

Ejects the mode and primitive value of the circuit type.
Source§

fn is_constant(&self) -> bool

Returns true if the circuit is a constant.
Source§

fn is_public(&self) -> bool

Returns true if the circuit is a public.
Source§

fn is_private(&self) -> bool

Returns true if the circuit is a private.
Source§

impl<E> Equal for Address<E>
where E: Environment,

Source§

fn is_equal(&self, other: &Address<E>) -> <Address<E> as Equal>::Output

Returns true if self and other are equal.

Source§

fn is_not_equal(&self, other: &Address<E>) -> <Address<E> as Equal>::Output

Returns true if self and other are not equal.

Source§

type Output = Boolean<E>

Source§

impl<E> From<&Address<E>> for Field<E>
where E: Environment,

Source§

fn from(value: &Address<E>) -> Field<E>

Returns the x-coordinate of the affine group element in the address.

Source§

impl<E> From<&Address<E>> for Group<E>
where E: Environment,

Source§

fn from(value: &Address<E>) -> Group<E>

Returns the affine group element in the address.

Source§

impl<E> From<&Address<E>> for LinearCombination<<E as Environment>::BaseField>
where E: Environment,

Source§

fn from( address: &Address<E>, ) -> LinearCombination<<E as Environment>::BaseField>

Converts to this type from the input type.
Source§

impl<E> From<&Field<E>> for Address<E>
where E: Environment,

Source§

fn from(value: &Field<E>) -> Address<E>

Initializes an address from the x-coordinate of an affine group element.

Source§

impl<E> From<&Group<E>> for Address<E>
where E: Environment,

Source§

fn from(value: &Group<E>) -> Address<E>

Initializes an address from an affine group element.

Source§

impl<A> From<Address<A>> for Literal<A>
where A: Aleo,

Source§

fn from(value: Address<A>) -> Literal<A>

Converts to this type from the input type.
Source§

impl<E> From<Address<E>> for Field<E>
where E: Environment,

Source§

fn from(value: Address<E>) -> Field<E>

Returns the x-coordinate of the affine group element in the address.

Source§

impl<E> From<Address<E>> for Group<E>
where E: Environment,

Source§

fn from(value: Address<E>) -> Group<E>

Returns the affine group element in the address.

Source§

impl<E> From<Address<E>> for LinearCombination<<E as Environment>::BaseField>
where E: Environment,

Source§

fn from(address: Address<E>) -> LinearCombination<<E as Environment>::BaseField>

Converts to this type from the input type.
Source§

impl<E> From<Field<E>> for Address<E>
where E: Environment,

Source§

fn from(value: Field<E>) -> Address<E>

Initializes an address from the x-coordinate of an affine group element.

Source§

impl<E> From<Group<E>> for Address<E>
where E: Environment,

Source§

fn from(value: Group<E>) -> Address<E>

Initializes an address from an affine group element.

Source§

impl<E> FromBits for Address<E>
where E: Environment,

Source§

fn from_bits_le(bits_le: &[<Address<E> as FromBits>::Boolean]) -> Address<E>

Initializes an address from a list of little-endian bits without trailing zeros.

Source§

fn from_bits_be(bits_be: &[<Address<E> as FromBits>::Boolean]) -> Address<E>

Initializes an address from a list of big-endian bits without leading zeros.

Source§

type Boolean = Boolean<E>

Source§

impl<E> FromField for Address<E>
where E: Environment,

Source§

fn from_field(x_coordinate: Field<E>) -> Address<E>

Initializes an address from the x-coordinate of an affine group element.

Source§

type Field = Field<E>

Source§

impl<E> FromGroup for Address<E>
where E: Environment,

Source§

fn from_group(group: <Address<E> as FromGroup>::Group) -> Address<E>

Initializes an address from an affine group element.

Source§

type Group = Group<E>

Source§

type Scalar = Scalar<E>

Source§

impl<E> FromStr for Address<E>
where E: Environment,

Source§

fn from_str(string: &str) -> Result<Address<E>, Error>

Parses a string into a address.

Source§

type Err = Error

The associated error which can be returned from parsing.
Source§

impl<E> Inject for Address<E>
where E: Environment,

Source§

fn new(mode: Mode, address: <Address<E> as Inject>::Primitive) -> Address<E>

Initializes a new instance of an address.

Source§

type Primitive = Address<<E as Environment>::Network>

Source§

fn constant(value: Self::Primitive) -> Self
where Self: Sized,

Initializes a constant of the given primitive value.
Source§

impl<E> Metrics<dyn Ternary<Output = Address<E>, Boolean = Boolean<E>>> for Address<E>
where E: Environment,

Source§

type Case = (Mode, Mode, Mode)

Source§

fn count( case: &<Address<E> as Metrics<dyn Ternary<Output = Address<E>, Boolean = Boolean<E>>>>::Case, ) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E> OutputMode<dyn Ternary<Output = Address<E>, Boolean = Boolean<E>>> for Address<E>
where E: Environment,

Source§

type Case = (CircuitType<Boolean<E>>, Mode, Mode)

Source§

fn output_mode( parameter: &<Address<E> as OutputMode<dyn Ternary<Output = Address<E>, Boolean = Boolean<E>>>>::Case, ) -> Mode

Returns the mode of the output.
Source§

impl<E> Parser for Address<E>
where E: Environment,

Source§

fn parse(string: &str) -> Result<(&str, Address<E>), Err<VerboseError<&str>>>

Parses a string into an address circuit.

Source§

impl<E> Ternary for Address<E>
where E: Environment,

Source§

fn ternary( condition: &<Address<E> as Ternary>::Boolean, first: &Address<E>, second: &Address<E>, ) -> <Address<E> as Ternary>::Output

Returns first if condition is true, otherwise returns second.

Source§

type Boolean = Boolean<E>

Source§

type Output = Address<E>

Source§

impl<E> ToBits for &Address<E>
where E: Environment,

Source§

fn write_bits_le(&self, vec: &mut Vec<<&Address<E> as ToBits>::Boolean>)

Outputs the little-endian bit representation of self.x without trailing zeros.

Source§

fn write_bits_be(&self, vec: &mut Vec<<&Address<E> as ToBits>::Boolean>)

Outputs the big-endian bit representation of self.x without leading zeros.

Source§

type Boolean = Boolean<E>

Source§

fn to_bits_le(&self) -> Vec<Self::Boolean>

Returns the little-endian bits of the circuit.
Source§

fn to_bits_be(&self) -> Vec<Self::Boolean>

Returns the big-endian bits of the circuit.
Source§

impl<E> ToBits for Address<E>
where E: Environment,

Source§

fn write_bits_le(&self, vec: &mut Vec<<Address<E> as ToBits>::Boolean>)

Outputs the little-endian bit representation of self.x without trailing zeros.

Source§

fn write_bits_be(&self, vec: &mut Vec<<Address<E> as ToBits>::Boolean>)

Outputs the big-endian bit representation of self.x without leading zeros.

Source§

type Boolean = Boolean<E>

Source§

fn to_bits_le(&self) -> Vec<Self::Boolean>

Returns the little-endian bits of the circuit.
Source§

fn to_bits_be(&self) -> Vec<Self::Boolean>

Returns the big-endian bits of the circuit.
Source§

impl<E> ToField for Address<E>
where E: Environment,

Source§

fn to_field(&self) -> Field<E>

Returns the x-coordinate of the affine group element in the address.

Source§

type Field = Field<E>

Source§

impl<E> ToGroup for Address<E>
where E: Environment,

Source§

fn to_group(&self) -> <Address<E> as ToGroup>::Group

Returns the affine group element in the address.

Source§

type Group = Group<E>

Source§

type Scalar = Scalar<E>

Source§

impl<E> TypeName for Address<E>
where E: Environment,

Source§

fn type_name() -> &'static str

Returns the type name of the circuit as a string.

Source§

impl<E> AddressTrait for Address<E>
where E: Environment,

Auto Trait Implementations§

§

impl<E> !Freeze for Address<E>

§

impl<E> !RefUnwindSafe for Address<E>

§

impl<E> Send for Address<E>

§

impl<E> !Sync for Address<E>

§

impl<E> Unpin for Address<E>
where <E as Environment>::BaseField: Unpin,

§

impl<E> UnwindSafe for Address<E>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToSmolStr for T
where T: Display + ?Sized,

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V