Enum GranularPermission
A granular permission: the right to perform part of a transaction type rather than all of
it, granted to a delegate through DelegateSet.
Namespace: Xrpl.BinaryCodec.Enums
Assembly: Xrpl.BinaryCodec.dll
Syntax
public enum GranularPermission : uint
Remarks
Mirrors rippled's GranularPermissionType, declared in
include/xrpl/protocol/detail/permissions.macro. The values start above
ushort.MaxValue by design, so that they can never collide with a
transaction-type permission, which is the transaction type code plus one.
A granular permission may be delegated even when the transaction it belongs to may not:
AccountDomainSet is grantable although AccountSet as a whole is not.
Unlike the other protocol enumerations, this one is not generated - definitions.json
does not carry granular permissions. It is held against the vendored macro by
TestUGranularPermissionConformance.
It lives in the codec rather than in the models because the codec is what has to name a
permission when it decodes one, and the dependency runs one way: Xrpl sees
Xrpl.BinaryCodec, never the reverse.
Fields
| Name | Description |
|---|---|
| AccountDomainSet | Set the account's domain ( |
| AccountEmailHashSet | Set the account's email hash ( |
| AccountMessageKeySet | Set the account's message key ( |
| AccountTickSizeSet | Set the account's tick size ( |
| AccountTransferRateSet | Set the account's transfer rate ( |
| MPTokenIssuanceLock | Lock an MPT issuance ( |
| MPTokenIssuanceUnlock | Unlock an MPT issuance ( |
| PaymentBurn | Redeem tokens through a payment back to the issuer ( |
| PaymentMint | Issue tokens through a payment from the issuer ( |
| TrustlineAuthorize | Authorize a trustline ( |
| TrustlineFreeze | Freeze a trustline ( |
| TrustlineUnfreeze | Unfreeze a trustline ( |