IIdentity

Description

An identity object that is used to uniquely identify a stakeholder in a request. Today, a stakeholder's IIdentity is expressed as an Ethereum address, but it is conceivable that future implementations may include alternative identity formats, perhaps W3C DIDs.

Examples of IIdentity are: payee, payer, signer, creator, and any 3rd party that can view an encrypted request's contents.

The payee identity and payer identity are NOT necessarily the same as the payment recipient (paymentAddress in the PaymentNetworkCreateParameters) or the payment sender (from address in the payment-subgraph). Conceptually, the payee and payer identities are used only for notifications and access control, NOT payment routing.

NameTypeRequiredDescription

type

Identity type

value

string

Identity address

Types.Identity.TYPE

NameValueDescription

ETHEREUM_ADDRESS

'ethereumAddress'

Externally owned account (EOA)

ETHEREUM_SMART_CONTRACT

'ethereumSmartContract'

Smart contract account. Don't use this. It is not possible to create or update a request using an IIdentity of this type. This type was added to support creating/updating requests using multisig wallets via EIP-1271 but this feature has not yet been implemented.

Last updated