The various small fixes that I have in mind are the following:
- A self-lock preventing re-entrency by default. Re-entrency is a common vector of attacks, and except when it is actively needed, it might be good to disallow it by default.
- Add a flag to be called as a DFS contract. All operations calling a contract with this flag are treated as
- Add a
MAKE_STERILEinstruction, that prevents an internal operation from spawning children operations. (After more thinking about it, it is less useful than envisioned, but possibly, other people have other ideas.)
From @murbard’s comment:
MAKE_DFSin contracts called by legacy contracts.
- Explicitly adding an opcode
ALLOW_DFSthat lets children contracts use