Struct abstract_sdk::Bank
source · pub struct Bank<'a, T: TransferInterface> { /* private fields */ }Expand description
API for transferring funds to and from the account.
Example
use abstract_sdk::prelude::*;
let bank: Bank<MockModule> = module.bank(deps.as_ref());Implementations§
source§impl<'a, T: TransferInterface> Bank<'a, T>
impl<'a, T: TransferInterface> Bank<'a, T>
sourcepub fn balances(&self, assets: &[AssetEntry]) -> AbstractSdkResult<Vec<Asset>>
pub fn balances(&self, assets: &[AssetEntry]) -> AbstractSdkResult<Vec<Asset>>
Get the balances of the provided assets.
sourcepub fn balance(&self, asset: &AssetEntry) -> AbstractSdkResult<Asset>
pub fn balance(&self, asset: &AssetEntry) -> AbstractSdkResult<Asset>
Get the balance of the provided asset.
sourcepub fn transfer<R: Transferable>(
&self,
funds: Vec<R>,
recipient: &Addr
) -> AbstractSdkResult<AccountAction>
pub fn transfer<R: Transferable>( &self, funds: Vec<R>, recipient: &Addr ) -> AbstractSdkResult<AccountAction>
Transfer the provided funds from the Account to the recipient.
fn transfer_asset_to_sender(app: MockModule, deps: DepsMut, info: MessageInfo, requested_asset: AnsAsset) -> AbstractSdkResult<Response> {
let bank = app.bank(deps.as_ref());
let executor = app.executor(deps.as_ref());
let transfer_action = bank.transfer(vec![requested_asset.clone()], &info.sender)?;
let transfer_msg = executor.execute(vec![transfer_action])?;
Ok(Response::new()
.add_message(transfer_msg)
.add_attribute("recipient", info.sender)
.add_attribute("asset_sent", requested_asset.to_string()))
}sourcepub fn deposit<R: Transferable>(
&self,
funds: Vec<R>
) -> AbstractSdkResult<AccountAction>
pub fn deposit<R: Transferable>( &self, funds: Vec<R> ) -> AbstractSdkResult<AccountAction>
Move funds from the contract into the Account.
sourcepub fn withdraw<R: Transferable>(
&self,
env: &Env,
funds: Vec<R>
) -> AbstractSdkResult<AccountAction>
pub fn withdraw<R: Transferable>( &self, env: &Env, funds: Vec<R> ) -> AbstractSdkResult<AccountAction>
Withdraw funds from the Account to this contract.
Trait Implementations§
Auto Trait Implementations§
impl<'a, T> !RefUnwindSafe for Bank<'a, T>
impl<'a, T> !Send for Bank<'a, T>
impl<'a, T> !Sync for Bank<'a, T>
impl<'a, T> Unpin for Bank<'a, T>
impl<'a, T> !UnwindSafe for Bank<'a, T>
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