pub async fn get_token_balance<P>(
provider: &P,
account_id: &str,
asset_id: &str,
) -> Result<u64, StellarTransactionUtilsError>Expand description
Fetch available token balance for a given account and asset identifier.
Supports:
- Native XLM: Returns account balance directly
- Traditional assets (Credit4/Credit12): Queries trustline balance via LedgerKey::Trustline and excludes funds locked in pending offers (selling_liabilities)
- Contract tokens: Queries contract data balance via LedgerKey::ContractData
§Arguments
provider- Stellar provider for querying ledger entriesaccount_id- Account address to check balance forasset_id- Asset identifier:- “native” or “” for XLM
- “CODE:ISSUER” for traditional assets (e.g., “USDC:GA5Z…”)
- Contract address (starts with “C”, 56 chars) for Soroban contract tokens
§Returns
Available balance in stroops (or token’s smallest unit) as u64, excluding funds locked in pending offers/orders, or error if balance cannot be fetched