> Also confirm my understanding that if you do NOT await them, then two writes are held by output ga

Also confirm my understanding that if you do NOT await them, then two writes are held by output gates. The either both succeed or both fail. Is that correct?
I did a detailed explanation of this few months ago, but the way I think about it now is simply:
  1. split all your statements by await IO.
  2. anything between await IO runs as an implicit transaction.
So, in your question, yes, assuming the code is running INSIDE the DO, two storage writes without any await in between them will run in an implicit transaction and either they both will persist or none.
Was this page helpful?