Module 0xd5044d9f4b80910ef7b8910a68d2ac257d14319fb9315ddce1ca5190878bc8ea::fungible_asset_manager

@title Fungible Asset Manager Module @author Aave @notice A utility module to manage fungible assets in the Aave protocol @dev Provides a standardized interface for interacting with fungible assets

use 0x1::fungible_asset;
use 0x1::object;
use 0x1::option;
use 0x1::primary_fungible_store;
use 0x1::string;
use 0xa888dd108ea636a234c973b8b72b9cadf0c7ae94d6f355c64dde9fdc275724ee::error_config;

Function balance_of

@notice Get the balance of a given store @param owner The address of the account to check balance for @param metadata_address The address of the metadata object @return The balance of the owner's store

#[view]
public fun balance_of(owner: address, metadata_address: address): u64

Function supply

@notice Get the current supply from the metadata object @param metadata_address The address of the metadata object @return The current supply of the fungible asset

#[view]
public fun supply(metadata_address: address): option::Option<u128>

Function maximum

@notice Get the maximum supply from the metadata object @param metadata_address The address of the metadata object @return The maximum supply of the fungible asset

#[view]
public fun maximum(metadata_address: address): option::Option<u128>

Function name

@notice Get the name of the fungible asset from the metadata object @param metadata_address The address of the metadata object @return The name of the fungible asset

#[view]
public fun name(metadata_address: address): string::String

Function symbol

@notice Get the symbol of the fungible asset from the metadata object @param metadata_address The address of the metadata object @return The symbol of the fungible asset

#[view]
public fun symbol(metadata_address: address): string::String

Function decimals

@notice Get the decimals from the metadata object @param metadata_address The address of the metadata object @return The number of decimals of the fungible asset

#[view]
public fun decimals(metadata_address: address): u8

Function assert_token_exists

@notice Verifies that a token exists at the given metadata address @param metadata_address The address of the metadata object to check @dev Aborts if the token does not exist

public fun assert_token_exists(metadata_address: address)

Function transfer

@notice Transfer a given amount of the asset to a recipient @dev Only callable by the supply_logic, borrow_logic, liquidation_logic, flashloan_logic and a_token_factory module @param from The account signer of the caller @param to The recipient of the asset @param amount The amount to transfer @param metadata_address The address of the metadata object

public(friend) fun transfer(from: &signer, to: address, amount: u64, metadata_address: address)