Address Namespace
Sway utilizes namespaces to distinguish between address types.
Having multiple address types enforces type-safety and expands the range of values that an address can take because the same value can be used across multiple types.
The main types are:
- Address: Used to identify the UTXO
- ContractId: Used to identify a contract
For ease of use there is an enum wrapper Identity which contains both types.