pub struct ContractAccount { /* private fields */ }Expand description
A Contract Stellar account (C-address).
Wraps a contract address and provides full account abstraction
including session key management. Session keys are persisted via
SessionStorage so they survive across contract invocations.
Implementations§
Trait Implementations§
Source§impl CougrAccount for ContractAccount
impl CougrAccount for ContractAccount
Source§fn capabilities(&self) -> AccountCapabilities
fn capabilities(&self) -> AccountCapabilities
Returns the capabilities supported by this account type.
Authorize a game action. Read more
Source§impl IntentAccount for ContractAccount
impl IntentAccount for ContractAccount
Source§impl SessionKeyProvider for ContractAccount
impl SessionKeyProvider for ContractAccount
Source§fn create_session(
&mut self,
env: &Env,
scope: SessionScope,
) -> Result<SessionKey, AccountError>
fn create_session( &mut self, env: &Env, scope: SessionScope, ) -> Result<SessionKey, AccountError>
Create a new session key with the given scope.
Source§fn validate_session(
&self,
env: &Env,
key: &SessionKey,
) -> Result<bool, AccountError>
fn validate_session( &self, env: &Env, key: &SessionKey, ) -> Result<bool, AccountError>
Validate that a session key is still active and within scope.
Source§fn revoke_session(
&mut self,
env: &Env,
key_id: &BytesN<32>,
) -> Result<(), AccountError>
fn revoke_session( &mut self, env: &Env, key_id: &BytesN<32>, ) -> Result<(), AccountError>
Revoke an existing session key.
Auto Trait Implementations§
impl Freeze for ContractAccount
impl !RefUnwindSafe for ContractAccount
impl !Send for ContractAccount
impl !Sync for ContractAccount
impl Unpin for ContractAccount
impl UnsafeUnpin for ContractAccount
impl !UnwindSafe for ContractAccount
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
Mutably borrows from an owned value. Read more
Source§impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
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>
Source§impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
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>
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.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>
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 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>
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