[#877] Better `transfer` errors on bad address
Description
Problem: The current setup of transfer uses the type of its first argument (signifying contract address) to determine the kind of the transfer (i.e. typechecked, unchecked, etc). Unfortunately, when the address isn't supported, it produces a very arcane type error. We should display more user-friendly type errors.
Solution: Add explicit TypeError
cases to the InitialTransferMode
type family.
Related issue(s)
Resolves #877 (closed)
✅ Checklist for your Merge Request
Related changes (conditional)
-
Tests (see short guidelines)
-
If I added new functionality, I added tests covering it. -
If I fixed a bug, I added a regression test to prevent the bug from silently reappearing again.
-
-
Documentation
Stylistic guide (mandatory)
-
My commits comply with the following policy. -
My code complies with the style guide.