#[non_exhaustive]pub enum GovernanceDetails<T: AddressLike> {
Monarchy {
monarch: T,
},
SubAccount {
account: T,
},
External {
governance_address: T,
governance_type: String,
},
NFT {
collection_addr: T,
token_id: String,
},
AbstractAccount {
address: Addr,
},
Renounced {},
}
Expand description
Governance types
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Monarchy
A single address is admin
Fields
monarch: T
The monarch’s address
SubAccount
Used when the account is a sub-account of another account.
Fields
account: T
External
An external governance source. This could be a cw3 contract for instance
The governance_address
will be the admin of the Account.
Fields
governance_address: T
The external contract address
NFT
This account is linked to an NFT collection. The owner of the specified token_id is the owner of the account
AbstractAccount
Abstract account. Admin actions have to be sent through signature bit flag
More details: https://github.com/burnt-labs/abstract-account/blob/2c933a7b2a8dacc0ae5bf4344159a7d4ab080135/README.md
Renounced
Renounced account This account no longer has an owner and cannot be used.
Implementations§
Source§impl GovernanceDetails<String>
impl GovernanceDetails<String>
Sourcepub fn verify(
self,
deps: Deps<'_>,
) -> Result<GovernanceDetails<Addr>, AbstractError>
pub fn verify( self, deps: Deps<'_>, ) -> Result<GovernanceDetails<Addr>, AbstractError>
Verify the governance details and convert to Self<Addr>
Source§impl GovernanceDetails<Addr>
impl GovernanceDetails<Addr>
Sourcepub fn owner_address(&self, querier: &QuerierWrapper<'_>) -> Option<Addr>
pub fn owner_address(&self, querier: &QuerierWrapper<'_>) -> Option<Addr>
Get the owner address from the governance details
Trait Implementations§
Source§impl<T: Clone + AddressLike> Clone for GovernanceDetails<T>
impl<T: Clone + AddressLike> Clone for GovernanceDetails<T>
Source§fn clone(&self) -> GovernanceDetails<T>
fn clone(&self) -> GovernanceDetails<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<T: Debug + AddressLike> Debug for GovernanceDetails<T>
impl<T: Debug + AddressLike> Debug for GovernanceDetails<T>
Source§impl<'de, T> Deserialize<'de> for GovernanceDetails<T>where
T: Deserialize<'de> + AddressLike,
impl<'de, T> Deserialize<'de> for GovernanceDetails<T>where
T: Deserialize<'de> + AddressLike,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<T: AddressLike> Display for GovernanceDetails<T>
impl<T: AddressLike> Display for GovernanceDetails<T>
Source§impl From<GovernanceDetails<Addr>> for GovernanceDetails<String>
impl From<GovernanceDetails<Addr>> for GovernanceDetails<String>
Source§fn from(value: GovernanceDetails<Addr>) -> Self
fn from(value: GovernanceDetails<Addr>) -> Self
Source§impl<T: AddressLike + JsonSchema> JsonSchema for GovernanceDetails<T>
impl<T: AddressLike + JsonSchema> JsonSchema for GovernanceDetails<T>
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref
keyword. Read moreSource§impl<T: PartialEq + AddressLike> PartialEq for GovernanceDetails<T>
impl<T: PartialEq + AddressLike> PartialEq for GovernanceDetails<T>
Source§impl<T> Serialize for GovernanceDetails<T>where
T: Serialize + AddressLike,
impl<T> Serialize for GovernanceDetails<T>where
T: Serialize + AddressLike,
impl<T: Eq + AddressLike> Eq for GovernanceDetails<T>
impl<T: AddressLike> StructuralPartialEq for GovernanceDetails<T>
Auto Trait Implementations§
impl<T> Freeze for GovernanceDetails<T>where
T: Freeze,
impl<T> RefUnwindSafe for GovernanceDetails<T>where
T: RefUnwindSafe,
impl<T> Send for GovernanceDetails<T>where
T: Send,
impl<T> Sync for GovernanceDetails<T>where
T: Sync,
impl<T> Unpin for GovernanceDetails<T>where
T: Unpin,
impl<T> UnwindSafe for GovernanceDetails<T>where
T: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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