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...
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
}In addition to the common fields, MPTokenIssuanceSet transactions use the following fields:
| Field | JSON Type | Internal Type | Required? | Description |
|---|---|---|---|---|
DomainID | String - Hash | UInt256 | No | The 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... |
MPTokenIssuanceID | String - Hexadecimal | UInt192 | Yes | The identifier of the MPTokenIssuance to update. |
Holder | String - Address | AccountID | No | An 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. |
Transactions of the MPTokenIssuanceSet type support additional values in the Flags field, as follows:
| Flag Name | Hex Value | Decimal Value | Description |
|---|---|---|---|
tfMPTLock | 0x00000001 | 1 | Enable to lock balances of this MPT issuance. |
tfMPTUnlock | 0x00000002 | 2 | Enable to unlock balances of this MPT issuance. |
Besides errors that can occur for all transactions, MPTokenIssuanceSet transactions can result in the following transaction result codes:
| Error Code | Description |
|---|---|
temDISABLED | The 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_DST | The 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. |
temMALFORMED | Besides 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_FOUND | The specified MPToken, MPTokenIssuance, or PermissionedDomain ledger entry doesn't exist. |