pub struct DeviceStorage;Expand description
Persistent storage for device keys and device policy.
Implementations§
Source§impl DeviceStorage
impl DeviceStorage
Sourcepub fn store_devices(env: &Env, account: &Address, devices: &Vec<DeviceKey>)
pub fn store_devices(env: &Env, account: &Address, devices: &Vec<DeviceKey>)
Store the full device key list for an account (overwrites).
Sourcepub fn load_devices(env: &Env, account: &Address) -> Vec<DeviceKey>
pub fn load_devices(env: &Env, account: &Address) -> Vec<DeviceKey>
Load all device keys. Returns empty vec if none stored.
Sourcepub fn store_policy(env: &Env, account: &Address, policy: &DevicePolicy)
pub fn store_policy(env: &Env, account: &Address, policy: &DevicePolicy)
Store device management policy for an account.
Sourcepub fn load_policy(env: &Env, account: &Address) -> Option<DevicePolicy>
pub fn load_policy(env: &Env, account: &Address) -> Option<DevicePolicy>
Load device policy. Returns None if not set.
Sourcepub fn update_device(
env: &Env,
account: &Address,
key_id: &BytesN<32>,
updater: impl FnOnce(&mut DeviceKey),
) -> Result<(), AccountError>
pub fn update_device( env: &Env, account: &Address, key_id: &BytesN<32>, updater: impl FnOnce(&mut DeviceKey), ) -> Result<(), AccountError>
Update a specific device key by ID. Loads all devices, applies the updater to the matching device, and writes back.
Auto Trait Implementations§
impl Freeze for DeviceStorage
impl RefUnwindSafe for DeviceStorage
impl Send for DeviceStorage
impl Sync for DeviceStorage
impl Unpin for DeviceStorage
impl UnsafeUnpin for DeviceStorage
impl UnwindSafe for DeviceStorage
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> DowncastSync for T
impl<T> DowncastSync for T
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