Remit
[Source]
(Added by the [Remit amendment][].)
Example
Section titled “Example”{ "TransactionType": "Remit", "Account": "rGvbdrdCxG2tk9ZU2673XmsjRdHCDQEpt7", "Amounts": [ { "AmountEntry": { "Amount": "1000000" } }, { "AmountEntry": { "Amount": { "currency": "USD", "issuer": "rExKpRKXNz25UAjbckCRtQsJFcSfjL9Er3", "value": "1" } } } ], "Destination": "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn", "URITokenIDs": [ "714F206C865D334721B2F3388BEAF33AA91BC1D78C71941D10A2A653C873EDD3" ], "MintURIToken": { "Digest": "6F11A4DF4EE794E2800BB361173D454BFBECB3D7506C4F4CB0EC5AE98BE43747", "Flags": 1, "URI": "697066733A2F2F" }}
Field | JSON Type | [Internal Type][] | Description |
---|---|---|---|
Account | String | AccountID | The address of the account that will activate the account, send the payment and/or mint/transfer the URIToken/s. |
Destination | String | AccountID | The unique address of the account receiving the payment and/or URIToken/s. |
DestinationTag | Number | UInt32 | (Optional) A DestinationTag for deposits to a shared custody account. |
MintURIToken | Object | STObject | (Optional) A MintURIToken STObject containing the URIToken details you want to mint on the Destination . |
URITokenIDs | Array | STArray | (Optional) An array of URITokenIDs (256-bit hash) to to be transferred to the Destination . Limit 32. |
Amounts | Array | STArray | (Optional) An array of AmountEntry STObjects the account wants to send to the Destination . Limit 32. |
Inform | String | AccountID | (Optional) A unique address of an account that can have a hook installed and be informed when a remit occurs. |
Blob | String | Blob | (Optional) Arbitrary hex value that can be added to the tx for use in Hooks. |
InvoiceID | String | Hash256 | (Optional) Arbitrary 256-bit hash representing a specific reason or identifier for this remit. |
AmountEntry Fields
Section titled “AmountEntry Fields”Field | JSON Type | [Internal Type][] | Description |
---|---|---|---|
Amount | Currency Amount | Amount | The amount of currency the account wants to send to the Destination . |
MintURIToken Fields
Section titled “MintURIToken Fields”Field | JSON Type | [Internal Type][] | Description |
---|---|---|---|
URI | String | String | The URI associated with the minted URIToken. (256 byte max) |
Digest | String | Hash256 | (Optional) The digest of the URIToken. |
Flags | Number | UInt32 | (Optional) Flags on the mint transaction |
MintURIToken Flags
Section titled “MintURIToken Flags”The MintURIToken
STObject supports the values in the Flags
field, as follows:
Flag Name | Hex Value | Decimal Value | Description |
---|---|---|---|
tfBurnable | 0x00000001 | 1 | Allow the issuer to destroy the minted URIToken . (The URIToken ’s owner can always do so.) |
Special Transaction Cost
Section titled “Special Transaction Cost”The Remit transaction has a standard transaction cost, which is the minimum fee required for any transaction in Xahau.
In addition to the minimum fee required the Remit transaction will also deduct the fees for the following:
Action | Fee |
---|---|
Account Activation | Standard Reserve Requirement |
Create Trustline | Standard Reserve Requirement |
URIToken Mint | Standard Reserve Requirement |
URIToken Transfer | Standard Reserve Requirement |
Error Cases
Section titled “Error Cases”Besides errors that can occur for all transactions, Remit transactions can result in the following transaction result codes:
Error Code | Description |
---|---|
temINVALID_FLAG | Occurs if any flag is specific tfFullyCanonicalSig |
temREDUNDANT | Occurs if the Account is the same as the Destination |
temMALFORMED (Inform & Blob) | Occurs when; sfInform is same as ” “source or destination. Blob was more than 128kib. |
temMALFORMED (AmountEntry) | Occurs when; AmountEntry count exceeds 32. Expected AmountEntry. Native Currency appears more than once. Issued Currency appears more than once. |
temMALFORMED (MintURIToken) | Occurs when; sfMintURIToken contains invalid field. URI was not provided. URI was too long/short. Invalid UTF8 inside MintURIToken. |
temMALFORMED (URITokenIDs) | Occurs when; URITokenIDs too short/long. Duplicate URITokenID. |
temBAD_AMOUNT | Occurs when an Amount in the AmountEntry is invalid. |
terNO_ACCOUNT | Occurs when the source account does not exist. |
tecNO_TARGET | Occurs when the sfInform field is present but the account does not exist. |
tecNO_PERMISSION | Occurs when disallowIncomingRemit is enabled on the Destination |
tecNO_PERMISSION | Occurs when the Destination has DepositAuthorization enabled. |
tecDST_TAG_NEEDED | Occurs if the destination account requires a destination tag, but the transaction does not include one. |
tecDUPLICATE | Occurs when the MintURIToken URI from that issuer already exists. |
tecDIR_FULL | Occurs when the source or destination accouts directory is full. |
tecNO_ENTRY | Occurs when the URIToken does not exist. |
tecNO_PERMISSION | Occurs when the URIToken is not owned by the source account. |
tecUNFUNDED_PAYMENT | Occurs when the source account does not have the required funds to execute the transaction. (XAH or Issued Currencies) |