pub struct OwnableSpec;Implementations§
Source§impl OwnableSpec
impl OwnableSpec
Sourcepub const fn spec_xdr_get_owner() -> [u8; 184]
pub const fn spec_xdr_get_owner() -> [u8; 184]
Returns Some(Address) if ownership is set, or None if ownership has
been renounced.
§Arguments
e- Access to the Soroban environment.
Source§impl OwnableSpec
impl OwnableSpec
Sourcepub const fn spec_xdr_transfer_ownership() -> [u8; 1008]
pub const fn spec_xdr_transfer_ownership() -> [u8; 1008]
Initiates a 2-step ownership transfer to a new address.
Requires authorization from the current owner. The new owner must later
call accept_ownership() to complete the transfer.
§Arguments
e- Access to the Soroban environment.new_owner- The proposed new owner.live_until_ledger- Ledger number until which the new owner can accept. A value of0cancels any pending transfer.
§Errors
OwnableError::OwnerNotSet- If the owner is not set.crate::role_transfer::RoleTransferError::NoPendingTransfer- If trying to cancel a transfer that doesn’t exist.crate::role_transfer::RoleTransferError::InvalidLiveUntilLedger- If the specified ledger is in the past.crate::role_transfer::RoleTransferError::InvalidPendingAccount- If the specified pending account is not the same as the providednewaddress.
§Notes
- Authorization for the current owner is required.
Source§impl OwnableSpec
impl OwnableSpec
Sourcepub const fn spec_xdr_accept_ownership() -> [u8; 340]
pub const fn spec_xdr_accept_ownership() -> [u8; 340]
Accepts a pending ownership transfer.
§Arguments
e- Access to the Soroban environment.
§Errors
crate::role_transfer::RoleTransferError::NoPendingTransfer- If there is no pending transfer to accept.
§Events
- topics -
["ownership_transfer_completed"] - data -
[new_owner: Address]
Source§impl OwnableSpec
impl OwnableSpec
Sourcepub const fn spec_xdr_renounce_ownership() -> [u8; 432]
pub const fn spec_xdr_renounce_ownership() -> [u8; 432]
Renounces ownership of the contract.
Permanently removes the owner, disabling all functions gated by
#[only_owner].
§Arguments
e- Access to the Soroban environment.
§Errors
OwnableError::TransferInProgress- If there is a pending ownership transfer.OwnableError::OwnerNotSet- If the owner is not set.
§Notes
- Authorization for the current owner is required.
Auto Trait Implementations§
impl Freeze for OwnableSpec
impl RefUnwindSafe for OwnableSpec
impl Send for OwnableSpec
impl Sync for OwnableSpec
impl Unpin for OwnableSpec
impl UnwindSafe for OwnableSpec
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