In
all the parts of the And
are evaluated immediately, even if the first part fails.
It is like the &
in C++, not like the &&
.
You need to have an If
…
In general, before ABI is published (which it will be published very soon), I strongly recommend having the first argument indicate the type of operation, withdraw
, claim
, … like in the on_call
in https://developer.algorand.org/docs/get-started/dapps/pyteal/#create-auction
After the ABI is published, the ABI should be followed. Documentation is getting updated soon.