It is not even shared
, so it probably doesn’t. Now I am really wondering what happens if the outgoing call that happens inside deposit_cycles_to
traps synchronously.
EDIT: This thread seems to answer it: https://forum.dfinity.org/t/error-the-replica-returned-an-error-code-5-message-canister-trapped-explicitly-could-not-perform-self-call/
There it says every await async { … } is its own message which could get executed in a different round. It doesn’t seem to matter if it is in a function or not. That’s consistent with what you said.