Trait snarkvm_circuit::Aleo

source ·
pub trait Aleo: Environment {
    const MAX_DATA_SIZE_IN_FIELDS: u32 = <Self::Network as console::Network>::MAX_DATA_SIZE_IN_FIELDS;
Show 33 methods fn bcm_domain() -> Field<Self>; fn encryption_domain() -> Field<Self>; fn graph_key_domain() -> Field<Self>; fn randomizer_domain() -> Field<Self>; fn r_bcm_domain() -> Field<Self>; fn serial_number_domain() -> Field<Self>; fn g_scalar_multiply(scalar: &Scalar<Self>) -> Group<Self>; fn commit_bhp256(
        input: &[Boolean<Self>],
        randomizer: &Scalar<Self>
    ) -> Field<Self>; fn commit_bhp512(
        input: &[Boolean<Self>],
        randomizer: &Scalar<Self>
    ) -> Field<Self>; fn commit_bhp768(
        input: &[Boolean<Self>],
        randomizer: &Scalar<Self>
    ) -> Field<Self>; fn commit_bhp1024(
        input: &[Boolean<Self>],
        randomizer: &Scalar<Self>
    ) -> Field<Self>; fn commit_ped64(
        input: &[Boolean<Self>],
        randomizer: &Scalar<Self>
    ) -> Group<Self>; fn commit_ped128(
        input: &[Boolean<Self>],
        randomizer: &Scalar<Self>
    ) -> Group<Self>; fn hash_bhp256(input: &[Boolean<Self>]) -> Field<Self>; fn hash_bhp512(input: &[Boolean<Self>]) -> Field<Self>; fn hash_bhp768(input: &[Boolean<Self>]) -> Field<Self>; fn hash_bhp1024(input: &[Boolean<Self>]) -> Field<Self>; fn hash_ped64(input: &[Boolean<Self>]) -> Field<Self>; fn hash_ped128(input: &[Boolean<Self>]) -> Field<Self>; fn hash_psd2(input: &[Field<Self>]) -> Field<Self>; fn hash_psd4(input: &[Field<Self>]) -> Field<Self>; fn hash_psd8(input: &[Field<Self>]) -> Field<Self>; fn hash_many_psd2(
        input: &[Field<Self>],
        num_outputs: u16
    ) -> Vec<Field<Self>, Global>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
    A: Allocator,
; fn hash_many_psd4(
        input: &[Field<Self>],
        num_outputs: u16
    ) -> Vec<Field<Self>, Global>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
    A: Allocator,
; fn hash_many_psd8(
        input: &[Field<Self>],
        num_outputs: u16
    ) -> Vec<Field<Self>, Global>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
    A: Allocator,
; fn hash_to_group_psd2(input: &[Field<Self>]) -> Group<Self>; fn hash_to_group_psd4(input: &[Field<Self>]) -> Group<Self>; fn hash_to_group_psd8(input: &[Field<Self>]) -> Group<Self>; fn hash_to_scalar_psd2(input: &[Field<Self>]) -> Scalar<Self>; fn hash_to_scalar_psd4(input: &[Field<Self>]) -> Scalar<Self>; fn hash_to_scalar_psd8(input: &[Field<Self>]) -> Scalar<Self>; fn verify_merkle_path_bhp<const DEPTH: u8>(
        path: &MerklePath<Self, DEPTH>,
        root: &Field<Self>,
        leaf: &Vec<Boolean<Self>, Global>
    ) -> Boolean<Self>; fn verify_merkle_path_psd<const DEPTH: u8>(
        path: &MerklePath<Self, DEPTH>,
        root: &Field<Self>,
        leaf: &Vec<Field<Self>, Global>
    ) -> Boolean<Self>;
}

Provided Associated Constants

The maximum number of field elements in data (must not exceed u16::MAX).

Required Methods

Returns the balance commitment domain as a constant field element.

Returns the encryption domain as a constant field element.

Returns the graph key domain as a constant field element.

Returns the randomizer domain as a constant field element.

Returns the balance commitment randomizer domain as a constant field element.

Returns the serial number domain as a constant field element.

Returns the scalar multiplication on the generator G.

Returns a BHP commitment with an input hasher of 256-bits.

Returns a BHP commitment with an input hasher of 512-bits.

Returns a BHP commitment with an input hasher of 768-bits.

Returns a BHP commitment with an input hasher of 1024-bits.

Returns a Pedersen commitment for the given (up to) 64-bit input and randomizer.

Returns a Pedersen commitment for the given (up to) 128-bit input and randomizer.

Returns the BHP hash with an input hasher of 256-bits.

Returns the BHP hash with an input hasher of 512-bits.

Returns the BHP hash with an input hasher of 768-bits.

Returns the BHP hash with an input hasher of 1024-bits.

Returns the Pedersen hash for a given (up to) 64-bit input.

Returns the Pedersen hash for a given (up to) 128-bit input.

Returns the Poseidon hash with an input rate of 2.

Returns the Poseidon hash with an input rate of 4.

Returns the Poseidon hash with an input rate of 8.

Returns the extended Poseidon hash with an input rate of 2.

Returns the extended Poseidon hash with an input rate of 4.

Returns the extended Poseidon hash with an input rate of 8.

Returns the Poseidon hash with an input rate of 2 on the affine curve.

Returns the Poseidon hash with an input rate of 4 on the affine curve.

Returns the Poseidon hash with an input rate of 8 on the affine curve.

Returns the Poseidon hash with an input rate of 2 on the scalar field.

Returns the Poseidon hash with an input rate of 4 on the scalar field.

Returns the Poseidon hash with an input rate of 8 on the scalar field.

Returns true if the given Merkle path is valid for the given root and leaf.

Returns true if the given Merkle path is valid for the given root and leaf.

Implementors