Type alias IdentityHistory

A timestamp-keyed map of IdentitySnapshots documenting the evolution of a particular identity. The current identity information is the snapshot associated with the latest timestamp reached. If no timestamp has yet been reached, the snapshot of the oldest timestamp is considered current. Future-dated timestamps indicate planned migrations.

This strategy allows wallets and other user interfaces to offer better experiences when an identity is rebranded, a token redenominated, or other important metadata is modified in a coordinated update. For example, a wallet may warn token holders of a forthcoming rebranding of fungible tokens they hold; after the change, the wallet may continue to offer prominent interface hints that the rebranded token identity was recently updated.

Timestamps may be order by time via lexicographical sort. For determinism, it is recommended that implementations sort from newest to oldest in exported registry JSON files.

If the current snapshot's IdentitySnapshot.migrated isn't specified, the snapshot's index is a precise time at which the snapshot takes effect and clients should begin using the new information. If migrated is specified, the snapshot's index is the timestamp at which the transition is considered to begin, see IdentitySnapshot.migrated for details.

Each timestamp must be provided in simplified extended ISO 8601 format, a 24-character string of format YYYY-MM-DDTHH:mm:ss.sssZ where timezone is zero UTC (denoted by Z). Note, this is the format returned by ECMAScript Date.toISOString().

In the case that an identity change occurs due to on-chain activity (e.g. an on-chain migration that is set to complete at a particular locktime value), registry-recorded timestamps reflect the real-world time at which the maintainer of the registry believes the on-chain activity to have actually occurred. Likewise, future-dated timestamps indicate a precise real-world time at which a snapshot is estimated to take effect, rather than the Median Time Past (BIP113) UNIX timestamp or another on-chain measurement of time.

Generated using TypeDoc