Skip to main content

Request

Struct Request 

Source
pub struct Request<A: Aleo> { /* private fields */ }

Implementations§

Source§

impl<A: Aleo> Request<A>

Source

pub fn to_tpk(&self) -> Group<A>

Returns the transition public key tpk.

Source§

impl<A: Aleo> Request<A>

Source

pub fn verify( &self, input_types: &[ValueType<A::Network>], tpk: &Group<A>, root_tvk: Option<Field<A>>, is_root: Boolean<A>, program_checksum: Option<Field<A>>, ) -> Boolean<A>

Returns true if the input IDs are derived correctly, the input records all belong to the signer, and the signature is valid.

Verifies (challenge == challenge’) && (address == address’) && (serial_numbers == serial_numbers’) where: challenge’ := HashToScalar(r * G, pk_sig, pr_sig, signer, [tvk, tcm, function ID, is_root, program checksum?, input IDs]) The program checksum must be provided if the program has a constructor and should not be provided otherwise.

Source

pub fn check_input_ids<const CREATE_MESSAGE: bool>( network_id: &U16<A>, program_id: &ProgramID<A>, function_name: &Identifier<A>, input_ids: &[InputID<A>], inputs: &[Value<A>], input_types: &[ValueType<A::Network>], signer: &Address<A>, sk_tag: &Field<A>, tvk: &Field<A>, tcm: &Field<A>, signature: Option<&Signature<A>>, function_id: Option<Field<A>>, ) -> (Boolean<A>, Option<Vec<Field<A>>>)

Returns true if the inputs match their input IDs. Note: This method does not perform signature checks.

The function_id parameter is optional for backwards compatibility. When None, the function ID is computed from the network ID, program ID, and function name. When Some, the provided function ID is used directly. This is critical for dynamic dispatch where the function ID must be passed in to ensure circuit size does not depend on the length of the program or function name.

Source§

impl<A: Aleo> Request<A>

Source

pub const fn signer(&self) -> &Address<A>

Returns the request signer.

Source

pub const fn network_id(&self) -> &U16<A>

Returns the network ID.

Source

pub const fn program_id(&self) -> &ProgramID<A>

Returns the program ID.

Source

pub const fn function_name(&self) -> &Identifier<A>

Returns the function name.

Source

pub fn input_ids(&self) -> &[InputID<A>]

Returns the input IDs for the transition.

Source

pub fn inputs(&self) -> &[Value<A>]

Returns the function inputs.

Source

pub const fn signature(&self) -> &Signature<A>

Returns the signature for the transition.

Source

pub const fn sk_tag(&self) -> &Field<A>

Returns the tag secret key.

Source

pub const fn tvk(&self) -> &Field<A>

Returns the transition view key.

Source

pub const fn tcm(&self) -> &Field<A>

Returns the transition commitment.

Source

pub const fn scm(&self) -> &Field<A>

Returns the signer commitment.

Source

pub fn is_dynamic(&self) -> bool

Returns whether or not the request is dynamic.

Trait Implementations§

Source§

impl<A: Aleo> Eject for Request<A>

Source§

fn eject_mode(&self) -> Mode

Ejects the mode of the request.

Source§

fn eject_value(&self) -> Self::Primitive

Ejects the request as a primitive.

Source§

type Primitive = Request<<A 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<A: Aleo> Inject for Request<A>

Source§

fn new(mode: Mode, request: Self::Primitive) -> Self

Initializes the request from the given mode and console request.

Source§

type Primitive = Request<<A as Environment>::Network>

Source§

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

Initializes a constant of the given primitive value.

Auto Trait Implementations§

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more