Skip to main content
Version: 2.3

Application link

An application link (abbr. app link) represents a link to an external (and possibly centralized) application.

Contained data​

Here follows the data of an application link.

User (string)​

Address of the Desmos profile to which the link is associated.

Data (object)​

It contains the link details:

  • Application (string)​

    Name of the application to which the link refers to (eg. twitter, github, reddit, etc).

  • Username (string)​

    Identifier of the application account which the link refers to (eg. Twitter username, GitHub profile, Reddit username, etc).

State (object)​

Representation of the current state of the link.
There can be five different states in which a link can be:

  • APPLICATION_LINK_STATE_INITIALIZED_UNSPECIFIED if the link has just been created, and it still needs to be processed;
  • APPLICATION_LINK_STATE_VERIFICATION_STARTED if the verification process has started;
  • APPLICATION_LINK_STATE_VERIFICATION_ERROR if the verification process ended with an error;
  • APPLICATION_LINK_STATE_VERIFICATION_SUCCESS if the verification process ended with success;
  • APPLICATION_LINK_STATE_TIMED_OUT if the verification process expired due to a timeout.

OracleRequest (object)​

The OracleRequest field contains all the data that has been sent to the oracle script in order to verify the authenticity of the link.

  • ID (int64)​

    This is the unique id of the request that has been made to verify the link.

  • OracleScriptID (int64)​

    A unique id of the script that has been called to verify the authenticity of the link.

  • CallData (object)​

    Contains the details of the data that will be used to call the oracle script.

    • Application (string)​

      Name of the application for which the link is valid (eg. twitter, github, reddit, etc).

    • CallData (string)​

      The CallData field represents the hex-encoded data that will be given to the data source in order to fetch and verify the validity of the link.

  • ClientID (string)​

    ID of the client that has performed the request.

Result (object)​

The Result field contains the effective result of the verification process. This is set only if the link state is either APPLICATION_LINK_STATE_VERIFICATION_SUCCESS or APPLICATION_LINK_STATE_VERIFICATION_ERROR.

The Result field can be of two types:

  • Result_Success (object)​

    Represents a successful result. It contains two fields:

    • Value (string)​

      Plain text value that has been signed from the user with their Desmos private key to prove the ownership of the Desmos profile.

    • Signature (string)​

      Hex-encoded result of the plain text value signature.

  • Result_Failed (object)​

    Identifies an error during the verification process. It contains only one field:

    • Error (string)​
      Represents the description of the error that has been emitted during the verification process.

CreationTime (time)​

Contains the time at which the link has been created.

Application links can be created by any user having a Desmos profile, and their validity is checked using a multi-step verification process described inside the "Themis" repository.