pub struct ASPMembershipClient<'a> {
pub env: Env,
pub address: Address,
/* private fields */
}Expand description
ASPMembershipClient is a client for calling the contract defined in “ASPMembership”.
Fields§
§env: Env§address: AddressImplementations§
Source§impl<'a> ASPMembershipClient<'a>
impl<'a> ASPMembershipClient<'a>
pub fn new(env: &Env, address: &Address) -> Self
Sourcepub fn set_auths(&self, auths: &'a [SorobanAuthorizationEntry]) -> Self
pub fn set_auths(&self, auths: &'a [SorobanAuthorizationEntry]) -> Self
Set authorizations in the environment which will be consumed by
contracts when they invoke Address::require_auth or
Address::require_auth_for_args functions.
Requires valid signatures for the authorization to be successful.
To mock auth without requiring valid signatures, use mock_auths.
See soroban_sdk::Env::set_auths for more details and examples.
Sourcepub fn mock_auths(&self, mock_auths: &'a [MockAuth<'a>]) -> Self
pub fn mock_auths(&self, mock_auths: &'a [MockAuth<'a>]) -> Self
Mock authorizations in the environment which will cause matching invokes
of Address::require_auth and Address::require_auth_for_args to
pass.
See soroban_sdk::Env::set_auths for more details and examples.
Sourcepub fn mock_all_auths(&self) -> Self
pub fn mock_all_auths(&self) -> Self
Mock all calls to the Address::require_auth and
Address::require_auth_for_args functions in invoked contracts,
having them succeed as if authorization was provided.
See soroban_sdk::Env::mock_all_auths for more details and
examples.
Sourcepub fn mock_all_auths_allowing_non_root_auth(&self) -> Self
pub fn mock_all_auths_allowing_non_root_auth(&self) -> Self
A version of mock_all_auths that allows authorizations that
are not present in the root invocation.
Refer to mock_all_auths documentation for details and
prefer using mock_all_auths unless non-root authorization is
required.
See soroban_sdk::Env::mock_all_auths_allowing_non_root_auth
for more details and examples.
Source§impl<'a> ASPMembershipClient<'a>
impl<'a> ASPMembershipClient<'a>
Sourcepub fn update_admin(&self, new_admin: &Address)
pub fn update_admin(&self, new_admin: &Address)
Update the contract administrator
Changes the admin address to a new address. Only the current admin can call this function.
§Arguments
env- The Soroban environmentnew_admin- Address of the new administrator
Sourcepub fn try_update_admin(
&self,
new_admin: &Address,
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_update_admin( &self, new_admin: &Address, ) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Update the contract administrator
Changes the admin address to a new address. Only the current admin can call this function.
§Arguments
env- The Soroban environmentnew_admin- Address of the new administrator
Sourcepub fn set_admin_insert_only(&self, admin_only: &bool)
pub fn set_admin_insert_only(&self, admin_only: &bool)
Set whether admin permission is required to insert a leaf
When admin_only is true (default), only the admin can insert leaves.
When false, anyone can insert leaves. Only the admin can change this
setting.
§Arguments
env- The Soroban environmentadmin_only- Whether admin permission is required for leaf insertion
Sourcepub fn try_set_admin_insert_only(
&self,
admin_only: &bool,
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_set_admin_insert_only( &self, admin_only: &bool, ) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Set whether admin permission is required to insert a leaf
When admin_only is true (default), only the admin can insert leaves.
When false, anyone can insert leaves. Only the admin can change this
setting.
§Arguments
env- The Soroban environmentadmin_only- Whether admin permission is required for leaf insertion
Sourcepub fn try_get_root(
&self,
) -> Result<Result<U256, <U256 as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_get_root( &self, ) -> Result<Result<U256, <U256 as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Sourcepub fn hash_pair(&self, left: &U256, right: &U256) -> U256
pub fn hash_pair(&self, left: &U256, right: &U256) -> U256
Hash two U256 values using Poseidon2 compression
Computes the Poseidon2 hash of two field elements in compression mode. This is the core hashing function used for Merkle tree operations.
§Arguments
env- The Soroban environmentleft- Left input valueright- Right input value
§Returns
The Poseidon2 hash result as U256
Sourcepub fn try_hash_pair(
&self,
left: &U256,
right: &U256,
) -> Result<Result<U256, <U256 as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_hash_pair( &self, left: &U256, right: &U256, ) -> Result<Result<U256, <U256 as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Hash two U256 values using Poseidon2 compression
Computes the Poseidon2 hash of two field elements in compression mode. This is the core hashing function used for Merkle tree operations.
§Arguments
env- The Soroban environmentleft- Left input valueright- Right input value
§Returns
The Poseidon2 hash result as U256
Sourcepub fn insert_leaf(&self, leaf: &U256)
pub fn insert_leaf(&self, leaf: &U256)
Insert a new leaf into the Merkle tree
Adds a new member to the Merkle tree and updates the root. The leaf is
inserted at the next available index and the tree is updated efficiently
by only recomputing the hashes along the path to the root. If
admin_insert_only is enabled (the default), only the admin can insert
leaves; otherwise, anyone can call this function.
§Arguments
env- The Soroban environmentleaf- The leaf value to insert (typically a commitment or hash)
§Returns
Returns Ok(()) on success, or MerkleTreeFull if the tree is at
capacity
Sourcepub fn try_insert_leaf(
&self,
leaf: &U256,
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_insert_leaf( &self, leaf: &U256, ) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Insert a new leaf into the Merkle tree
Adds a new member to the Merkle tree and updates the root. The leaf is
inserted at the next available index and the tree is updated efficiently
by only recomputing the hashes along the path to the root. If
admin_insert_only is enabled (the default), only the admin can insert
leaves; otherwise, anyone can call this function.
§Arguments
env- The Soroban environmentleaf- The leaf value to insert (typically a commitment or hash)
§Returns
Returns Ok(()) on success, or MerkleTreeFull if the tree is at
capacity
Auto Trait Implementations§
impl<'a> Freeze for ASPMembershipClient<'a>
impl<'a> !RefUnwindSafe for ASPMembershipClient<'a>
impl<'a> !Send for ASPMembershipClient<'a>
impl<'a> !Sync for ASPMembershipClient<'a>
impl<'a> Unpin for ASPMembershipClient<'a>
impl<'a> !UnwindSafe for ASPMembershipClient<'a>
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
§impl<T, U, V, E, C> Compare<(T, U, V)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,
impl<T, U, V, E, C> Compare<(T, U, V)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,
§impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W>,
impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W>,
type Error = E
fn compare( &self, a: &(T, U, V, W), b: &(T, U, V, W), ) -> Result<Ordering, <C as Compare<(T, U, V, W)>>::Error>
§impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W> + Compare<X>,
impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W> + Compare<X>,
type Error = E
fn compare( &self, a: &(T, U, V, W, X), b: &(T, U, V, W, X), ) -> Result<Ordering, <C as Compare<(T, U, V, W, X)>>::Error>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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