assets.asset_manager | Algorand Developer Portal

assets.asset_manager

Classes

AccountAssetInformation Information about an account’s holding of a particular asset.
AssetInformation Information about an Algorand Standard Asset (ASA).
BulkAssetOptInOutResult Result from performing a bulk opt-in or bulk opt-out for an account against a series of assets.
AssetManager A manager for Algorand Standard Assets (ASAs).

Module Contents

class algokit_utils.assets.asset_manager.AccountAssetInformation

Information about an account’s holding of a particular asset.

asset_id : int

The ID of the asset

balance : int

The amount of the asset held by the account

frozen : bool

Whether the asset is frozen for this account

round : int

The round this information was retrieved at

class algokit_utils.assets.asset_manager.AssetInformation

Information about an Algorand Standard Asset (ASA).

asset_id : int

The ID of the asset

creator : str

The address of the account that created the asset

total : int

The total amount of the smallest divisible units that were created of the asset

decimals : int

The amount of decimal places the asset was created with

default_frozen : bool | None = None

Whether the asset was frozen by default for all accounts, defaults to None

manager : str | None = None

The address of the optional account that can manage the configuration of the asset and destroy it, defaults to None

reserve : str | None = None

The address of the optional account that holds the reserve (uncirculated supply) units of the asset, defaults to None

freeze : str | None = None

The address of the optional account that can be used to freeze or unfreeze holdings of this asset, defaults to None

clawback : str | None = None

The address of the optional account that can clawback holdings of this asset from any account, defaults to None

unit_name : str | None = None

The optional name of the unit of this asset (e.g. ticker name), defaults to None

unit_name_b64 : bytes | None = None

The optional name of the unit of this asset as bytes, defaults to None

asset_name : str | None = None

The optional name of the asset, defaults to None

asset_name_b64 : bytes | None = None

The optional name of the asset as bytes, defaults to None

url : str | None = None

The optional URL where more information about the asset can be retrieved, defaults to None

url_b64 : bytes | None = None

The optional URL where more information about the asset can be retrieved as bytes, defaults to None

metadata_hash : bytes | None = None

The 32-byte hash of some metadata that is relevant to the asset and/or asset holders, defaults to None

class algokit_utils.assets.asset_manager.BulkAssetOptInOutResult

Result from performing a bulk opt-in or bulk opt-out for an account against a series of assets.

asset_id : int

The ID of the asset opted into / out of

transaction_id : str

The transaction ID of the resulting opt in / out

class algokit_utils.assets.asset_manager.AssetManager(algod_client: algosdk.v2client.algod.AlgodClient, new_group: collections.abc.Callable[[], [algokit_utils.transactions.transaction_composer.TransactionComposer]])

A manager for Algorand Standard Assets (ASAs).

asset_manager = AssetManager(algod_client)

get_by_id(asset_id: int) → AssetInformation

Returns the current asset information for the asset with the given ID.

asset_manager = AssetManager(algod_client)

asset_info = asset_manager.get_by_id(1234567890)

get_account_information(sender: str | algokit_utils.models.account.SigningAccount | algosdk.atomic_transaction_composer.TransactionSigner, asset_id: int) → AccountAssetInformation

Returns the given sender account’s asset holding for a given asset.

asset_manager = AssetManager(algod_client)

account_asset_info = asset_manager.get_account_information(sender, asset_id)

bulk_opt_in(account: str, asset_ids: list[int], signer: algosdk.atomic_transaction_composer.TransactionSigner | None = None, rekey_to: str | None = None, note: bytes | None = None, lease: bytes | None = None, static_fee: algokit_utils.models.amount.AlgoAmount | None = None, extra_fee: algokit_utils.models.amount.AlgoAmount | None = None, max_fee: algokit_utils.models.amount.AlgoAmount | None = None, validity_window: int | None = None, first_valid_round: int | None = None, last_valid_round: int | None = None, send_params: algokit_utils.models.transaction.SendParams | None = None) → list[BulkAssetOptInOutResult]

Opt an account in to a list of Algorand Standard Assets.

asset_manager = AssetManager(algod_client)

results = asset_manager.bulk_opt_in(account, asset_ids)

bulk_opt_out(*, account: str, asset_ids: list[int], ensure_zero_balance: bool = True, signer: algosdk.atomic_transaction_composer.TransactionSigner | None = None, rekey_to: str | None = None, note: bytes | None = None, lease: bytes | None = None, static_fee: algokit_utils.models.amount.AlgoAmount | None = None, extra_fee: algokit_utils.models.amount.AlgoAmount | None = None, max_fee: algokit_utils.models.amount.AlgoAmount | None = None, validity_window: int | None = None, first_valid_round: int | None = None, last_valid_round: int | None = None, send_params: algokit_utils.models.transaction.SendParams | None = None) → list[BulkAssetOptInOutResult]

Opt an account out of a list of Algorand Standard Assets.

asset_manager = AssetManager(algod_client)

results = asset_manager.bulk_opt_out(account, asset_ids)