mirror of
https://github.com/XRPLF/rippled.git
synced 2026-07-24 15:40:26 +00:00
75 lines
3.0 KiB
Plaintext
75 lines
3.0 KiB
Plaintext
#if !defined(GRANULAR_PERMISSION)
|
|
#error "undefined macro: GRANULAR_PERMISSION"
|
|
#endif
|
|
|
|
/**
|
|
* GRANULAR_PERMISSION(name, txType, value, allowedFlags, allowedFields)
|
|
*
|
|
* Defines a granular permission:
|
|
* name: the granular permission name.
|
|
* txType: the corresponding TxType for this permission.
|
|
* value: the uint32 numeric value for the enum type.
|
|
* allowedFlags: transaction flags permitted under this permission.
|
|
* allowedFields: transaction fields permitted under this permission.
|
|
*/
|
|
|
|
/** Grants the ability to authorize a trustline. */
|
|
GRANULAR_PERMISSION(TrustlineAuthorize, ttTRUST_SET, 65537, tfUniversal | tfSetfAuth,
|
|
({{sfLimitAmount, SoeRequired}}))
|
|
|
|
/** Grants the ability to freeze a trustline. */
|
|
GRANULAR_PERMISSION(TrustlineFreeze, ttTRUST_SET, 65538, tfUniversal | tfSetFreeze,
|
|
({{sfLimitAmount, SoeRequired}}))
|
|
|
|
/** Grants the ability to unfreeze a trustline. */
|
|
GRANULAR_PERMISSION(TrustlineUnfreeze, ttTRUST_SET, 65539, tfUniversal | tfClearFreeze,
|
|
({{sfLimitAmount, SoeRequired}}))
|
|
|
|
/** Grants the ability to set Domain. */
|
|
GRANULAR_PERMISSION(AccountDomainSet, ttACCOUNT_SET, 65540, tfUniversal,
|
|
({{sfDomain, SoeOptional}}))
|
|
|
|
/** Grants the ability to set EmailHash. */
|
|
GRANULAR_PERMISSION(AccountEmailHashSet, ttACCOUNT_SET, 65541, tfUniversal,
|
|
({{sfEmailHash, SoeOptional}}))
|
|
|
|
/** Grants the ability to set MessageKey. */
|
|
GRANULAR_PERMISSION(AccountMessageKeySet, ttACCOUNT_SET, 65542, tfUniversal,
|
|
({{sfMessageKey, SoeOptional}}))
|
|
|
|
/** Grants the ability to set TransferRate. */
|
|
GRANULAR_PERMISSION(AccountTransferRateSet, ttACCOUNT_SET, 65543, tfUniversal,
|
|
({{sfTransferRate, SoeOptional}}))
|
|
|
|
/** Grants the ability to set TickSize. */
|
|
GRANULAR_PERMISSION(AccountTickSizeSet, ttACCOUNT_SET, 65544, tfUniversal,
|
|
({{sfTickSize, SoeOptional}}))
|
|
|
|
/** Grants the ability to mint payment (sending account is the issuer). Cross-currency payments are disallowed. */
|
|
GRANULAR_PERMISSION(PaymentMint, ttPAYMENT, 65545, tfUniversal,
|
|
({{sfDestination, SoeRequired},
|
|
{sfAmount, SoeRequired},
|
|
{sfSendMax, SoeOptional},
|
|
{sfInvoiceID, SoeOptional},
|
|
{sfDestinationTag, SoeOptional},
|
|
{sfCredentialIDs, SoeOptional}}))
|
|
|
|
/** Grants the ability to burn payment (destination account is the issuer). Cross-currency payments are disallowed. */
|
|
GRANULAR_PERMISSION(PaymentBurn, ttPAYMENT, 65546, tfUniversal,
|
|
({{sfDestination, SoeRequired},
|
|
{sfAmount, SoeRequired},
|
|
{sfSendMax, SoeOptional},
|
|
{sfInvoiceID, SoeOptional},
|
|
{sfDestinationTag, SoeOptional},
|
|
{sfCredentialIDs, SoeOptional}}))
|
|
|
|
/** Grants the ability to lock an MPToken. */
|
|
GRANULAR_PERMISSION(MPTokenIssuanceLock, ttMPTOKEN_ISSUANCE_SET, 65547, tfUniversal | tfMPTLock,
|
|
({{sfMPTokenIssuanceID, SoeRequired},
|
|
{sfHolder, SoeOptional}}))
|
|
|
|
/** Grants the ability to unlock an MPToken. */
|
|
GRANULAR_PERMISSION(MPTokenIssuanceUnlock, ttMPTOKEN_ISSUANCE_SET, 65548, tfUniversal | tfMPTUnlock,
|
|
({{sfMPTokenIssuanceID, SoeRequired},
|
|
{sfHolder, SoeOptional}}))
|