You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -256,6 +257,16 @@ A transaction ID is a 64-bit hexadecimal string that uniquely identifies the tra
256
257
257
258
You can look up a transaction by ID using the [getTransaction](#gettransaction) method.
258
259
260
+
## Transaction Memos
261
+
262
+
Every transaction can optionally have an array of memos for user applications. The `memos` field in each [transaction specification](#transaction-specifications) is an array of objects with the following structure:
263
+
264
+
Name | Type | Description
265
+
---- | ---- | -----------
266
+
data | string | *Optional* Arbitrary string, conventionally containing the content of the memo.
267
+
format | string | *Optional* Conventionally containing information on how the memo is encoded, for example as a [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml). Only characters allowed in URLs are permitted.
268
+
type | string | *Optional* Conventionally, a unique relation (according to [RFC 5988](http://tools.ietf.org/html/rfc5988#section-4)) that defines the format of this memo. Only characters allowed in URLs are permitted.
269
+
259
270
# Transaction Specifications
260
271
261
272
A *transaction specification* specifies what a transaction should do. Each [Transaction Type](#transaction-types) has its own type of specification.
@@ -280,11 +291,7 @@ destination | object | The destination of the funds to be sent.
280
291
allowPartialPayment | boolean | *Optional* A boolean that, if set to true, indicates that this payment should go through even if the whole amount cannot be delivered because of a lack of liquidity or funds in the source account account
281
292
invoiceID | string | *Optional* A 256-bit hash that can be used to identify a particular payment.
282
293
limitQuality | boolean | *Optional* Only take paths where all the conversions have an input:output ratio that is equal or better than the ratio of destination.amount:source.maxAmount.
283
-
memos | array | *Optional* Array of memos to attach to the transaction.
284
-
memos[] | object | Memo objects represent arbitrary data that can be included in a transaction
285
-
*memos[].* data | string | *Optional* Arbitrary string, conventionally containing the content of the memo.
286
-
*memos[].* format | string | *Optional* Conventionally containing information on how the memo is encoded, for example as a [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml). Only characters allowed in URLs are permitted.
287
-
*memos[].* type | string | *Optional* Conventionally, a unique relation (according to [RFC 5988](http://tools.ietf.org/html/rfc5988#section-4)) that defines the format of this memo. Only characters allowed in URLs are permitted.
294
+
memos | [memos](#transaction-memos) | *Optional* Array of memos to attach to the transaction.
288
295
noDirectRipple | boolean | *Optional* A boolean that can be set to true if paths are specified and the sender would like the Ripple Network to disregard any direct paths from the source account to the destination account. This may be used to take advantage of an arbitrage opportunity or by gateways wishing to issue balances from a hot wallet to a user who has mistakenly set a trustline directly to the hot wallet
289
296
paths | string | *Optional* The paths of trustlines and orders to use in executing the payment.
290
297
@@ -324,6 +331,7 @@ counterparty | [address](#ripple-address) | The address of the account this trus
324
331
limit | [value](#value) | The maximum amount that the owner of the trustline can be owed through the trustline.
325
332
authorized | boolean | *Optional* If true, authorize the counterparty to hold issuances from this account.
326
333
frozen | boolean | *Optional* If true, the trustline is frozen, which means that funds can only be sent to the owner.
334
+
memos | [memos](#transaction-memos) | *Optional* Array of memos to attach to the transaction.
327
335
qualityIn | number | *Optional* Incoming balances on this trustline are valued at this ratio.
328
336
qualityOut | number | *Optional* Outgoing balances on this trustline are valued at this ratio.
329
337
ripplingDisabled | boolean | *Optional* If true, payments cannot ripple through this trustline.
@@ -356,6 +364,7 @@ totalPrice | [amount](#amount) | The total price to be paid for the `quantity` t
356
364
expirationTime | date-time string | *Optional* Time after which the offer is no longer active, as an [ISO 8601 date-time](https://en.wikipedia.org/wiki/ISO_8601).
357
365
fillOrKill | boolean | *Optional* Treat the offer as a [Fill or Kill order](http://en.wikipedia.org/wiki/Fill_or_kill). Only attempt to match existing offers in the ledger, and only do so if the entire quantity can be exchanged.
358
366
immediateOrCancel | boolean | *Optional* Treat the offer as an [Immediate or Cancel order](http://en.wikipedia.org/wiki/Immediate_or_cancel). If enabled, the offer will never become a ledger node: it only attempts to match existing offers in the ledger.
367
+
memos | [memos](#transaction-memos) | *Optional* Array of memos to attach to the transaction.
359
368
passive | boolean | *Optional* If enabled, the offer will not consume offers that exactly match it, and instead becomes an Offer node in the ledger. It will still consume offers that cross it.
360
369
361
370
### Example
@@ -385,6 +394,7 @@ See [Transaction Types](#transaction-types) for a description.
385
394
Name | Type | Description
386
395
---- | ---- | -----------
387
396
orderSequence | [sequence](#account-sequence-number) | The [account sequence number](#account-sequence-number) of the order to cancel.
397
+
memos | [memos](#transaction-memos) | *Optional* Array of memos to attach to the transaction.
388
398
389
399
### Example
390
400
@@ -409,6 +419,7 @@ domain | string | *Optional* The domain that owns this account, as a hexadecima
409
419
emailHash | string,null | *Optional* Hash of an email address to be used for generating an avatar image. Conventionally, clients use Gravatar to display this image. Use `null` to clear.
410
420
enableTransactionIDTracking | boolean | *Optional* Track the ID of this account’s most recent transaction.
411
421
globalFreeze | boolean | *Optional* Freeze all assets issued by this account.
422
+
memos | [memos](#transaction-memos) | *Optional* Array of memos to attach to the transaction.
412
423
messageKey | string | *Optional* Public key for sending encrypted messages to this account. Conventionally, it should be a secp256k1 key, the same encryption that is used by the rest of Ripple.
413
424
noFreeze | boolean | *Optional* Permanently give up the ability to freeze individual trust lines. This flag can never be disabled after being enabled.
414
425
passwordSpent | boolean | *Optional* Indicates that the account has used its free SetRegularKey transaction.
@@ -444,11 +455,7 @@ destination | object | Fields pertaining to the destination of the payment.
444
455
allowCancelAfter | date-time string | *Optional* If present, the suspended payment may be cancelled after this time.
445
456
allowExecuteAfter | date-time string | *Optional* If present, the suspended payment can not be executed before this time.
446
457
digest | string | *Optional* If present, proof is required upon execution.
447
-
memos | array | *Optional* Array of memos to attach to the transaction.
448
-
memos[] | object | Memo objects represent arbitrary data that can be included in a transaction
449
-
*memos[].* data | string | *Optional* Arbitrary string, conventionally containing the content of the memo.
450
-
*memos[].* format | string | *Optional* Conventionally containing information on how the memo is encoded, for example as a [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml). Only characters allowed in URLs are permitted.
451
-
*memos[].* type | string | *Optional* Conventionally, a unique relation (according to [RFC 5988](http://tools.ietf.org/html/rfc5988#section-4)) that defines the format of this memo. Only characters allowed in URLs are permitted.
458
+
memos | [memos](#transaction-memos) | *Optional* Array of memos to attach to the transaction.
452
459
453
460
### Example
454
461
@@ -484,11 +491,7 @@ Name | Type | Description
484
491
---- | ---- | -----------
485
492
owner | [address](#ripple-address) | The address of the owner of the suspended payment to cancel.
486
493
suspensionSequence | [sequence](#account-sequence-number) | The [account sequence number](#account-sequence-number) of the [Suspended Payment Creation](#suspended-payment-creation) transaction for the suspended payment to cancel.
487
-
memos | array | *Optional* Array of memos to attach to the transaction.
488
-
memos[] | object | Memo objects represent arbitrary data that can be included in a transaction
489
-
*memos[].* data | string | *Optional* Arbitrary string, conventionally containing the content of the memo.
490
-
*memos[].* format | string | *Optional* Conventionally containing information on how the memo is encoded, for example as a [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml). Only characters allowed in URLs are permitted.
491
-
*memos[].* type | string | *Optional* Conventionally, a unique relation (according to [RFC 5988](http://tools.ietf.org/html/rfc5988#section-4)) that defines the format of this memo. Only characters allowed in URLs are permitted.
494
+
memos | [memos](#transaction-memos) | *Optional* Array of memos to attach to the transaction.
492
495
493
496
### Example
494
497
@@ -510,11 +513,7 @@ Name | Type | Description
510
513
owner | [address](#ripple-address) | The address of the owner of the suspended payment to execute.
511
514
suspensionSequence | [sequence](#account-sequence-number) | The [account sequence number](#account-sequence-number) of the [Suspended Payment Creation](#suspended-payment-creation) transaction for the suspended payment to execute.
512
515
digest | string | *Optional* The original `digest` from the suspended payment creation transaction. This is sha256 hash of `proof` string. It is replicated here so that the relatively expensive hashing operation can be delegated to a server without ledger history and the server with ledger history only has to do a quick comparison of the old digest with the new digest.
513
-
memos | array | *Optional* Array of memos to attach to the transaction.
514
-
memos[] | object | Memo objects represent arbitrary data that can be included in a transaction
515
-
*memos[].* data | string | *Optional* Arbitrary string, conventionally containing the content of the memo.
516
-
*memos[].* format | string | *Optional* Conventionally containing information on how the memo is encoded, for example as a [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml). Only characters allowed in URLs are permitted.
517
-
*memos[].* type | string | *Optional* Conventionally, a unique relation (according to [RFC 5988](http://tools.ietf.org/html/rfc5988#section-4)) that defines the format of this memo. Only characters allowed in URLs are permitted.
516
+
memos | [memos](#transaction-memos) | *Optional* Array of memos to attach to the transaction.
518
517
method | integer | *Optional* The method for verifying the proof; only method `1` is supported.
519
518
proof | string | *Optional* A value that produces the digest when hashed. It must be 32 charaters long and contain only 8-bit characters.
520
519
@@ -2577,6 +2576,7 @@ domain | string | *Optional* The domain that owns this account, as a hexadecima
2577
2576
emailHash | string,null | *Optional* Hash of an email address to be used for generating an avatar image. Conventionally, clients use Gravatar to display this image. Use `null` to clear.
2578
2577
enableTransactionIDTracking | boolean | *Optional* Track the ID of this account’s most recent transaction.
2579
2578
globalFreeze | boolean | *Optional* Freeze all assets issued by this account.
2579
+
memos | [memos](#transaction-memos) | *Optional* Array of memos to attach to the transaction.
2580
2580
messageKey | string | *Optional* Public key for sending encrypted messages to this account. Conventionally, it should be a secp256k1 key, the same encryption that is used by the rest of Ripple.
2581
2581
noFreeze | boolean | *Optional* Permanently give up the ability to freeze individual trust lines. This flag can never be disabled after being enabled.
2582
2582
passwordSpent | boolean | *Optional* Indicates that the account has used its free SetRegularKey transaction.
Copy file name to clipboardexpand all lines: docs/src/transactions.md.ejs
+6
Original file line number
Diff line number
Diff line change
@@ -55,3 +55,9 @@ We recommended that you specify a `maxLedgerVersion` because without it there is
55
55
A transaction ID is a 64-bit hexadecimal string that uniquely identifies the transaction. The transaction ID is derived from the transaction instruction and specifications, using a strong hash function.
56
56
57
57
You can look up a transaction by ID using the [getTransaction](#gettransaction) method.
58
+
59
+
## Transaction Memos
60
+
61
+
Every transaction can optionally have an array of memos for user applications. The `memos` field in each [transaction specification](#transaction-specifications) is an array of objects with the following structure:
"description": "Indicates that the account has used its free SetRegularKey transaction."
9
+
},
10
+
"requireDestinationTag": {
11
+
"type": "boolean",
12
+
"description": "Requires incoming payments to specify a destination tag."
13
+
},
14
+
"requireAuthorization": {
15
+
"type": "boolean",
16
+
"description": "If set, this account must individually approve other users in order for those users to hold this account’s issuances."
17
+
},
18
+
"disallowIncomingXRP": {
19
+
"type": "boolean",
20
+
"description": "Indicates that client applications should not send XRP to this account. Not enforced by rippled."
21
+
},
22
+
"disableMasterKey": {
23
+
"type": "boolean",
24
+
"description": "Disallows use of the master key to sign transactions for this account."
25
+
},
26
+
"enableTransactionIDTracking": {
27
+
"type": "boolean",
28
+
"description": "Track the ID of this account’s most recent transaction."
29
+
},
30
+
"noFreeze": {
31
+
"type": "boolean",
32
+
"description": "Permanently give up the ability to freeze individual trust lines. This flag can never be disabled after being enabled."
33
+
},
34
+
"globalFreeze": {
35
+
"type": "boolean",
36
+
"description": "Freeze all assets issued by this account."
37
+
},
38
+
"defaultRipple": {
39
+
"type": "boolean",
40
+
"description": "Enable [rippling](https://ripple.com/knowledge_center/understanding-the-noripple-flag/) on this account’s trust lines by default. (New in [rippled 0.27.3](https://github.com/ripple/rippled/releases/tag/0.27.3))"
41
+
},
42
+
"emailHash": {
43
+
"description": "Hash of an email address to be used for generating an avatar image. Conventionally, clients use Gravatar to display this image. Use `null` to clear.",
44
+
"oneOf": [
45
+
{"type": "null"},
46
+
{"$ref": "hash128"}
47
+
]
48
+
},
49
+
"messageKey": {
50
+
"type": "string",
51
+
"description": "Public key for sending encrypted messages to this account. Conventionally, it should be a secp256k1 key, the same encryption that is used by the rest of Ripple."
52
+
},
53
+
"domain": {
54
+
"type": "string",
55
+
"description": " The domain that owns this account, as a hexadecimal string representing the ASCII for the domain in lowercase."
56
+
},
57
+
"transferRate": {
58
+
"description": " The fee to charge when users transfer this account’s issuances, represented as billionths of a unit. Use `null` to set no fee.",
"description": "The public key of a new keypair, to use as the regular key to this account, as a base-58-encoded string in the same format as an account address. Use `null` to remove the regular key."
"description": "Indicates that the account has used its free SetRegularKey transaction."
9
-
},
10
-
"requireDestinationTag": {
11
-
"type": "boolean",
12
-
"description": "Requires incoming payments to specify a destination tag."
13
-
},
14
-
"requireAuthorization": {
15
-
"type": "boolean",
16
-
"description": "If set, this account must individually approve other users in order for those users to hold this account’s issuances."
17
-
},
18
-
"disallowIncomingXRP": {
19
-
"type": "boolean",
20
-
"description": "Indicates that client applications should not send XRP to this account. Not enforced by rippled."
21
-
},
22
-
"disableMasterKey": {
23
-
"type": "boolean",
24
-
"description": "Disallows use of the master key to sign transactions for this account."
25
-
},
26
-
"enableTransactionIDTracking": {
27
-
"type": "boolean",
28
-
"description": "Track the ID of this account’s most recent transaction."
29
-
},
30
-
"noFreeze": {
31
-
"type": "boolean",
32
-
"description": "Permanently give up the ability to freeze individual trust lines. This flag can never be disabled after being enabled."
33
-
},
34
-
"globalFreeze": {
35
-
"type": "boolean",
36
-
"description": "Freeze all assets issued by this account."
37
-
},
38
-
"defaultRipple": {
39
-
"type": "boolean",
40
-
"description": "Enable [rippling](https://ripple.com/knowledge_center/understanding-the-noripple-flag/) on this account’s trust lines by default. (New in [rippled 0.27.3](https://github.com/ripple/rippled/releases/tag/0.27.3))"
41
-
},
42
-
"emailHash": {
43
-
"description": "Hash of an email address to be used for generating an avatar image. Conventionally, clients use Gravatar to display this image. Use `null` to clear.",
44
-
"oneOf": [
45
-
{"type": "null"},
46
-
{"$ref": "hash128"}
47
-
]
48
-
},
49
-
"messageKey": {
50
-
"type": "string",
51
-
"description": "Public key for sending encrypted messages to this account. Conventionally, it should be a secp256k1 key, the same encryption that is used by the rest of Ripple."
52
-
},
53
-
"domain": {
54
-
"type": "string",
55
-
"description": " The domain that owns this account, as a hexadecimal string representing the ASCII for the domain in lowercase."
56
-
},
57
-
"transferRate": {
58
-
"description": " The fee to charge when users transfer this account’s issuances, represented as billionths of a unit. Use `null` to set no fee.",
"description": "The public key of a new keypair, to use as the regular key to this account, as a base-58-encoded string in the same format as an account address. Use `null` to remove the regular key."
0 commit comments