Struct abstract_client::AccountBuilder

source ·
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>

source

pub fn name(&mut self, name: impl Into<String>) -> &mut Self

Username for the account Defaults to “Default Abstract Account”

source

pub fn description(&mut self, description: impl Into<String>) -> &mut Self

Description for the account

http(s) or ipfs link for the account

source

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.

source

pub fn base_asset(&mut self, base_asset: AssetEntry) -> &mut Self

Base Asset for the account

source

pub fn fetch_if_namespace_claimed(&mut self, value: bool) -> &mut Self

Try to fetch the account before creating it if the namespace is already claimed. Defaults to true.

source

pub fn install_on_sub_account(&mut self, value: bool) -> &mut Self

Install modules on a new sub-account instead of current account. Defaults to true

source

pub fn sub_account(&mut self, owner_account: &'a Account<Chain>) -> &mut Self

Create sub-account instead

source

pub fn ownership(&mut self, ownership: GovernanceDetails<String>) -> &mut Self

Governance of the account. Defaults to the GovernanceDetails::Monarchy variant, owned by the sender

source

pub fn install_adapter<M: InstallConfig<InitMsg = Empty>>( &mut self ) -> Result<&mut Self, AbstractClientError>

Install an adapter on current account.

source

pub fn install_app<M: InstallConfig>( &mut self, configuration: &M::InitMsg ) -> Result<&mut Self, AbstractClientError>

Install an application on current account.

source

pub fn install_app_with_dependencies<M: DependencyCreation + InstallConfig>( &mut self, module_configuration: &M::InitMsg, dependencies_config: M::DependenciesConfig ) -> Result<&mut Self, AbstractClientError>

Install an application with dependencies on current account.

source

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.

source

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.

source

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

source

pub fn expected_account_id(&mut self, local_account_id: u32) -> &mut Self

Assign expected local account_id on creation. The tx will error if this does not match the account-id at runtime. Useful for instantiate2 address prediction.

source

pub fn build(&self) -> Result<Account<Chain>, AbstractClientError>

Builds the Account.

Auto Trait Implementations§

§

impl<'a, Chain> Freeze for AccountBuilder<'a, Chain>

§

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>

§

impl<'a, Chain> !UnwindSafe for AccountBuilder<'a, Chain>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<U> As for U

source§

fn as_<T>(self) -> T
where T: CastFrom<U>,

Casts self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.