Sequential
By default, Aqua code is executed line by line, sequentially.
Contract
- Data from the first line is available on the second line
- A second line will be executed only if the first line succeeded
- If any line failed, then the whole block is failed
- If all lines succeeded, then the whole block is succeeded
aqua
aqua
A block of code is any number of lines on the same indentation level or deeper.
Sequential operations
call arrow
Any runnable piece of code in Aqua is an arrow from its domain to the codomain.
aqua
aqua
When you write <-, this means not just "assign results of the function on the right to variable on the left". It means that all the effects are executed: service may change state, the topology may be shifted. But you end up being (semantically) on the same peer where you have called the arrow.
on
on denotes the peer where the code must be executed. on is handled sequentially, and the code inside is executed line by line by default.
aqua
aqua
See more in the Topology section.