Skip to content
Last updated
Edit

[Source]

Update a mutable property of a Multi-purpose Token (MPT) issuance, including locking (freezing) or unlocking the tokens globally or for an individual holder.

Requires the MPTokensV1 amendment. Loading...

Example MPTokenIssuanceSet JSON

This example locks the balances of all holders of the specified MPT issuance.

{
    "TransactionType": "MPTokenIssuanceSet",
    "Account": "rNFta7UKwcoiCpxEYbhH2v92numE3cceB6",
    "MPTokenIssuanceID": "05EECEBE97A7D635DE2393068691A015FED5A89AD203F5AA",
    "Fee": "10",
    "Flags": 1,
    "Sequence": 99536577
}
Query example transaction

MPTokenIssuanceSet Fields

In addition to the common fields, MPTokenIssuanceSet transactions use the following fields:

FieldJSON TypeInternal TypeRequired?Description
DomainIDString - HashUInt256NoThe ledger entry ID of a permissioned domain that grants access to the MPT. An empty value or 0 removes the permissioned domain from the MPT issuance so that only users who are explicitly approved by the issuer can send and receive the MPT. You can only set a DomainID if the MPT issuance has Require Auth enabled.

Requires the PermissionedDomains amendment. Loading...

Requires the SingleAssetVault amendment. Loading...

MPTokenIssuanceIDString - HexadecimalUInt192YesThe identifier of the MPTokenIssuance to update.
HolderString - AddressAccountIDNoAn individual token holder. If provided, apply changes to the given holder's balance of the given MPT issuance. If omitted, apply to all accounts holding the given MPT issuance.

MPTokenIssuanceSet Flags

Transactions of the MPTokenIssuanceSet type support additional values in the Flags field, as follows:

Flag NameHex ValueDecimal ValueDescription
tfMPTLock0x000000011Enable to lock balances of this MPT issuance.
tfMPTUnlock0x000000022Enable to unlock balances of this MPT issuance.

Error Cases

Besides errors that can occur for all transactions, MPTokenIssuanceSet transactions can result in the following transaction result codes:

Error CodeDescription
temDISABLEDThe MPTokensV1 amendment is disabled. You will also receive this error if you include a DomainID field in the transaction, but the PermissionedDomains and SingleAssetVault amendments are both disabled.
tecNO_DSTThe account specified in the Holder field doesn't exist.
tecNO_PERMISSION- The lsfMPTCanLock flag isn't enabled, but you are attempting to lock or unlock an MPT.
- The SingleAssetVault amendment is disabled and you're trying to modify a DomainID field.
temMALFORMEDBesides generally malformed transactions, you can receive this error if:
- You specified a DomainID and Holder value; only one can be set in a single transaction.
- You specified the same account for both Account and Holder.
- The transaction isn't changing anything; it must either update a flag or modify the DomainID.
tecOBJECT_NOT_FOUNDThe specified MPToken, MPTokenIssuance, or PermissionedDomain ledger entry doesn't exist.

See Also