pub struct AccountBuilder<'a, Chain: CwEnv> { /* private fields */ }
Expand description
A builder for creating Accounts
.
Get the builder from the AbstractClient::account_builder
and create the account with the build
method.
use abstract_client::{AbstractClient, Account};
let client = AbstractClient::new(chain)?;
let account: Account<MockBech32> = client.account_builder()
.name("alice")
// other account configuration
.build()?;
Implementations§
Source§impl<'a, Chain: CwEnv> AccountBuilder<'a, Chain>
impl<'a, Chain: CwEnv> AccountBuilder<'a, Chain>
Sourcepub fn name(&mut self, name: impl Into<String>) -> &mut Self
pub fn name(&mut self, name: impl Into<String>) -> &mut Self
Username for the account Defaults to “Default Abstract Account”
Sourcepub fn description(&mut self, description: impl Into<String>) -> &mut Self
pub fn description(&mut self, description: impl Into<String>) -> &mut Self
Description for the account
Sourcepub fn link(&mut self, link: impl Into<String>) -> &mut Self
pub fn link(&mut self, link: impl Into<String>) -> &mut Self
http(s) or ipfs link for the account
Sourcepub fn namespace(&mut self, namespace: Namespace) -> &mut Self
pub fn namespace(&mut self, namespace: Namespace) -> &mut Self
Unique namespace for the account Setting this will claim the namespace for the account on construction.
Sourcepub fn sub_account(&mut self, owner_account: &'a Account<Chain>) -> &mut Self
pub fn sub_account(&mut self, owner_account: &'a Account<Chain>) -> &mut Self
Create sub-account
Sourcepub fn ownership(&mut self, ownership: GovernanceDetails<String>) -> &mut Self
pub fn ownership(&mut self, ownership: GovernanceDetails<String>) -> &mut Self
Governance of the account.
Defaults to the GovernanceDetails::Monarchy
variant, owned by the sender
Sourcepub fn install_adapter<M: InstallConfig<InitMsg = Empty>>(
&mut self,
) -> &mut Self
pub fn install_adapter<M: InstallConfig<InitMsg = Empty>>( &mut self, ) -> &mut Self
Install an adapter on current account.
Sourcepub fn install_app<M: InstallConfig>(
&mut self,
configuration: &M::InitMsg,
) -> &mut Self
pub fn install_app<M: InstallConfig>( &mut self, configuration: &M::InitMsg, ) -> &mut Self
Install an application on current account.
Sourcepub fn install_standalone<M: InstallConfig>(
&mut self,
configuration: &M::InitMsg,
) -> &mut Self
pub fn install_standalone<M: InstallConfig>( &mut self, configuration: &M::InitMsg, ) -> &mut Self
Install an standalone on current account.
Sourcepub fn install_service<M: InstallConfig>(
&mut self,
configuration: &M::InitMsg,
) -> &mut Self
pub fn install_service<M: InstallConfig>( &mut self, configuration: &M::InitMsg, ) -> &mut Self
Install an service on current account.
Sourcepub fn install_app_with_dependencies<M: DependencyCreation + InstallConfig>(
&mut self,
module_configuration: &M::InitMsg,
dependencies_config: M::DependenciesConfig,
) -> &mut Self
pub fn install_app_with_dependencies<M: DependencyCreation + InstallConfig>( &mut self, module_configuration: &M::InitMsg, dependencies_config: M::DependenciesConfig, ) -> &mut Self
Install an application with dependencies on current account.
Sourcepub fn install_standalone_with_dependencies<M: DependencyCreation + InstallConfig>(
&mut self,
module_configuration: &M::InitMsg,
dependencies_config: M::DependenciesConfig,
) -> &mut Self
pub fn install_standalone_with_dependencies<M: DependencyCreation + InstallConfig>( &mut self, module_configuration: &M::InitMsg, dependencies_config: M::DependenciesConfig, ) -> &mut Self
Install an standalone with dependencies on current account.
Sourcepub fn with_modules(
&mut self,
install_modules: impl IntoIterator<Item = ModuleInstallConfig>,
) -> &mut Self
pub fn with_modules( &mut self, install_modules: impl IntoIterator<Item = ModuleInstallConfig>, ) -> &mut Self
Install unchecked modules on current account.
Since this method allows to pass unchecked ModuleInstallConfig
calling this method should be avoided unless it’s the only way to install module, for example no InstallModule
implemented for the module
Sourcepub fn enable_ibc(&mut self) -> &mut Self
pub fn enable_ibc(&mut self) -> &mut Self
Enable ibc on account. This parameter ignored if installation of IbcClient
already specified in install_modules
.
Sourcepub fn auto_fund_assert<F: Fn(&[Coin]) -> bool + 'static>(
&mut self,
f: F,
) -> &mut Self
pub fn auto_fund_assert<F: Fn(&[Coin]) -> bool + 'static>( &mut self, f: F, ) -> &mut Self
Enables automatically paying for module instantiations and namespace registration.
The provided function will be called with the required funds. If the function returns false
,
the account creation will fail.
Sourcepub fn auto_fund(&mut self) -> &mut Self
pub fn auto_fund(&mut self) -> &mut Self
Enables automatically paying for module instantiations and namespace registration.
Use auto_fund_assert
to add limits to the auto fund mode.
Sourcepub fn funds(
&mut self,
funds: &[Coin],
) -> Result<&mut Self, AbstractClientError>
pub fn funds( &mut self, funds: &[Coin], ) -> Result<&mut Self, AbstractClientError>
Add funds to the account creation Can’t be used in pair with auto fund mode
Sourcepub fn expected_account_id(&mut self, local_account_id: u32) -> &mut Self
pub fn expected_account_id(&mut self, local_account_id: u32) -> &mut Self
Assign expected local account_id on creation.
It’s designed to be used in pair with crate::AbstractClient::random_account_id
.
The tx will error if this account id already claimed or it’s less than 2147483648. Useful for instantiate2 address prediction.
Auto Trait Implementations§
impl<'a, Chain> Freeze for AccountBuilder<'a, Chain>where
Chain: Freeze,
impl<'a, Chain> !RefUnwindSafe for AccountBuilder<'a, Chain>
impl<'a, Chain> !Send for AccountBuilder<'a, Chain>
impl<'a, Chain> !Sync for AccountBuilder<'a, Chain>
impl<'a, Chain> Unpin for AccountBuilder<'a, Chain>where
Chain: Unpin,
impl<'a, Chain> !UnwindSafe for AccountBuilder<'a, Chain>
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> 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