XLM-02: try_transfer from contract address. The contract has no XLM balance, so try_transfer fails silently. The parent catches the error and emits a fake "transfer" event that mimics the SAC event format. Transaction succeeds (txSUCCESS).
fn fake_transfer(
env: soroban_sdk::Env,
token_addr: soroban_sdk::Address,
to: soroban_sdk::Address,
amount: i128,
) -> bool
XLM-01: Regular transfer from contract address. The contract has no XLM balance, so transfer() panics and the entire transaction fails (txFAILED). Diagnostic events still contain the attempted SAC transfer call trace.
fn failed_transfer(
env: soroban_sdk::Env,
token_addr: soroban_sdk::Address,
to: soroban_sdk::Address,
amount: i128,
)