I know @visual steeple is already working on cleaning up error codes. Things that seem to be missing right now are:
- which codes are "fatal" (as in cannot be caught with
try_call-- those are panics basically, for example when running out of cpu budget) - rollback strategy when catching errors -- right now it looks like we never rollback side effects to the store and this seems odd (reason we originally did not want to allow people to catch errors was that this is basically requires implementing something similar to LedgerTxn's CoW in the C++ code base)