PermissionedDomain

[Source]

A PermissionedDomain ledger entry describes a single permissioned domain instance. You can create a permissioned domain by sending a PermissionedDomainSet transaction.

(Requires the PermissionedDomains amendment )

Example PermissionedDomain JSON

{
  "LedgerEntryType": "PermissionedDomain",
  "Fee": "10",
  "Flags": 0,
  "Owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
  "OwnerNode": "0000000000000000",
  "Sequence": 390,
  "AcceptedCredentials": [
    {
        "Credential": {
            "Issuer": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX",
            "CredentialType": "6D795F63726564656E7469616C"
        }
    }
  ],
  "PreviousTxnID": "E7E3F2BBAAF48CF893896E48DC4A02BDA0C747B198D5AE18BC3D7567EE64B904",
  "PreviousTxnLgrSeq": 8734523,
  "index": "3DFA1DDEA27AF7E466DE395CCB16158E07ECA6BC4EB5580F75EBD39DE833645F"
}

PermissionedDomain Fields

In addition to the common ledger entry fields, PermissionedDomain entries have the following fields:

FieldJSON TypeInternal TypeRequired?Description
AcceptedCredentialsArrayArrayYesA list of 1 to 10 Accepted Credentials objects that grant access to this domain. The array is stored sorted by issuer.
OwnerString - AddressAccountIDYesThe address of the account that owns this domain.
OwnerNodeStringUInt64YesA hint indicating which page of the owner directory links to this entry, in case the directory consists of multiple pages.
PreviousTxnIDString - HashHash256YesThe identifying hash of the transaction that most recently modified this entry.
PreviousTxnLgrSeqNumberUInt32YesThe index of the ledger that contains the transaction that most recently modified this object.
SequenceNumberUInt32YesThe Sequence value of the transaction that created this entry.

AcceptedCredentials Objects

Each member of the AcceptedCredentials array is an inner object named Credential with the following nested fields:

FieldJSON TypeInternal TypeRequired?Description
IssuerString - AddressAccountIDYesThe issuer of the credential.
CredentialTypeStringBlobYesThe type of credential, as hexadecimal. This is an arbitrary value from 1 to 64 bytes that the issuer sets when they issue a credential.
Note

In the usual JSON format, inner objects are wrapped in an object with one field, whose name defines the inner object type. In this case, the wrapping field is named Credential. For example:

"AcceptedCredentials": [
    {
        "Credential": {
            "Issuer": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX",
            "CredentialType": "6D795F63726564656E7469616C"
        }
    },
    // ... additional Credential inner objects ...
]

PermissionedDomain Flags

There are no flags defined for PermissionedDomain entries.

PermissionedDomain Reserve

Each PermissionedDomain entry counts as 1 item toward its owner's reserve requirement.

A PermissionedDomain entry is a deletion blocker, meaning an account cannot be deleted if it owns any PermissionedDomain entries.

PermissionedDomain ID Format

The ID of a PermissionedDomain entry is the SHA-512Half of the following values, concatenated in order:

  1. The PermissionedDomain space key (0x0082).
  2. The AccountID of the PermissionedDomain's owner.
  3. The Sequence number of the transaction that created the PermissionedDomain.