Skip to content

IdentityName

Purpose

Serves as an alias for an ExternalIdentity in anoma. This is useful when we do not yet have the (cryptographic) specifics for an identity, but we want to refer to it anyway. These are resolved by the Name Engine.

This implements the Identity Name Abstraction from architecture-1. This means that, as far as our SML is concerned, we will need a structure matching the VERIFIER_NAME and ENCRYPTOR_NAME signatures, where the identityName type is this IdentityName.

Type

There are (infinitely) many ways to make an IdentityName, so this is a sum type. Each element also specifies here what kind of IdentityNameEvidence is necessary to prove that a given ExternalIdentity corresponds with this IdentityName, as used by the Name Engine. At the moment, we support 2 types of IdentityNames:

One of: