Execute multiple contract invocations with optimized auth
For single-wallet operations (transfer + swap + fee), only ONE passkey signature is required because the caller's auth covers all sub-invocations.
For multi-wallet operations (ARBBOT style), separate auth is required only when from_addr differs from caller.
Arguments:
fn exec(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
invocations: soroban_sdk::Vec<
(
soroban_sdk::Address,
soroban_sdk::Symbol,
soroban_sdk::Vec,
bool,
),
>,
) -> soroban_sdk::Vec