Transfers amounts[i] of token from from to recipients[i].
Recipients may be classic accounts or contract accounts (such as passkey smart wallets), since the token contract credits either the trustline or a contract balance entry as appropriate.
The batch is validated in full before from is asked to authorize and
before any transfer runs, so a bad batch fails during simulation without
moving anything. On success one [DisburseEvent] is published.
fn disburse(
env: soroban_sdk::Env,
token: soroban_sdk::Address,
from: soroban_sdk::Address,
recipients: soroban_sdk::Vec,
amounts: soroban_sdk::Vec,
) -> Result