The Remit transaction allows the user to send multiple payment types, mint a URIToken, transfer a list of URITokens and activate an account.
The Remit transaction pays all fees for Account Activation, Trustlines and URIToken Reserves.
[Source]
(Added by the [Remit amendment][].)
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.
Amount
Amount
The amount of currency the account wants to send to the Destination
.
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
The MintURIToken
STObject supports the values in the Flags
field, as follows:
tfBurnable
0x00000001
1
Allow the issuer to destroy the minted URIToken
. (The URIToken
's owner can always do so.)
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:
Account Activation
Standard Reserve Requirement
Create Trustline
Standard Reserve Requirement
URIToken Mint
Standard Reserve Requirement
URIToken Transfer
Standard Reserve Requirement
Besides errors that can occur for all transactions, Remit transactions can result in the following transaction result codes:
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)