xrpl 4.4.0-smartescrow.0 → 4.5.0-smartescrow.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/build/xrpl-latest-min.js +1 -1
  2. package/build/xrpl-latest-min.js.map +1 -1
  3. package/build/xrpl-latest.js +191 -26
  4. package/build/xrpl-latest.js.map +1 -1
  5. package/dist/npm/models/common/index.d.ts +16 -0
  6. package/dist/npm/models/common/index.d.ts.map +1 -1
  7. package/dist/npm/models/ledger/AccountRoot.d.ts +3 -1
  8. package/dist/npm/models/ledger/AccountRoot.d.ts.map +1 -1
  9. package/dist/npm/models/ledger/AccountRoot.js +1 -0
  10. package/dist/npm/models/ledger/AccountRoot.js.map +1 -1
  11. package/dist/npm/models/ledger/DirectoryNode.d.ts +1 -0
  12. package/dist/npm/models/ledger/DirectoryNode.d.ts.map +1 -1
  13. package/dist/npm/models/ledger/Escrow.d.ts +2 -0
  14. package/dist/npm/models/ledger/Escrow.d.ts.map +1 -1
  15. package/dist/npm/models/ledger/MPToken.d.ts +1 -0
  16. package/dist/npm/models/ledger/MPToken.d.ts.map +1 -1
  17. package/dist/npm/models/ledger/MPTokenIssuance.d.ts +1 -0
  18. package/dist/npm/models/ledger/MPTokenIssuance.d.ts.map +1 -1
  19. package/dist/npm/models/ledger/Offer.d.ts +10 -1
  20. package/dist/npm/models/ledger/Offer.d.ts.map +1 -1
  21. package/dist/npm/models/ledger/Offer.js +1 -0
  22. package/dist/npm/models/ledger/Offer.js.map +1 -1
  23. package/dist/npm/models/methods/bookOffers.d.ts +1 -0
  24. package/dist/npm/models/methods/bookOffers.d.ts.map +1 -1
  25. package/dist/npm/models/methods/pathFind.d.ts +2 -0
  26. package/dist/npm/models/methods/pathFind.d.ts.map +1 -1
  27. package/dist/npm/models/methods/ripplePathFind.d.ts +1 -0
  28. package/dist/npm/models/methods/ripplePathFind.d.ts.map +1 -1
  29. package/dist/npm/models/methods/subscribe.d.ts +4 -0
  30. package/dist/npm/models/methods/subscribe.d.ts.map +1 -1
  31. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts +1 -1
  32. package/dist/npm/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
  33. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js +14 -5
  34. package/dist/npm/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
  35. package/dist/npm/models/transactions/accountSet.d.ts +2 -1
  36. package/dist/npm/models/transactions/accountSet.d.ts.map +1 -1
  37. package/dist/npm/models/transactions/accountSet.js +1 -0
  38. package/dist/npm/models/transactions/accountSet.js.map +1 -1
  39. package/dist/npm/models/transactions/common.d.ts +4 -0
  40. package/dist/npm/models/transactions/common.d.ts.map +1 -1
  41. package/dist/npm/models/transactions/common.js +134 -1
  42. package/dist/npm/models/transactions/common.js.map +1 -1
  43. package/dist/npm/models/transactions/escrowCreate.d.ts +2 -1
  44. package/dist/npm/models/transactions/escrowCreate.d.ts.map +1 -1
  45. package/dist/npm/models/transactions/escrowCreate.js +1 -6
  46. package/dist/npm/models/transactions/escrowCreate.js.map +1 -1
  47. package/dist/npm/models/transactions/escrowFinish.d.ts +5 -0
  48. package/dist/npm/models/transactions/escrowFinish.d.ts.map +1 -1
  49. package/dist/npm/models/transactions/escrowFinish.js.map +1 -1
  50. package/dist/npm/models/transactions/index.d.ts +1 -1
  51. package/dist/npm/models/transactions/index.d.ts.map +1 -1
  52. package/dist/npm/models/transactions/index.js +2 -1
  53. package/dist/npm/models/transactions/index.js.map +1 -1
  54. package/dist/npm/models/transactions/metadata.d.ts +2 -1
  55. package/dist/npm/models/transactions/metadata.d.ts.map +1 -1
  56. package/dist/npm/models/transactions/metadata.js.map +1 -1
  57. package/dist/npm/models/transactions/offerCreate.d.ts +4 -1
  58. package/dist/npm/models/transactions/offerCreate.d.ts.map +1 -1
  59. package/dist/npm/models/transactions/offerCreate.js +10 -0
  60. package/dist/npm/models/transactions/offerCreate.js.map +1 -1
  61. package/dist/npm/models/transactions/payment.d.ts +1 -0
  62. package/dist/npm/models/transactions/payment.d.ts.map +1 -1
  63. package/dist/npm/models/transactions/payment.js +4 -3
  64. package/dist/npm/models/transactions/payment.js.map +1 -1
  65. package/dist/npm/models/transactions/vaultCreate.d.ts.map +1 -1
  66. package/dist/npm/models/transactions/vaultCreate.js +13 -4
  67. package/dist/npm/models/transactions/vaultCreate.js.map +1 -1
  68. package/dist/npm/models/transactions/vaultDeposit.d.ts +2 -2
  69. package/dist/npm/models/transactions/vaultDeposit.d.ts.map +1 -1
  70. package/dist/npm/models/transactions/vaultDeposit.js.map +1 -1
  71. package/dist/npm/models/transactions/vaultWithdraw.d.ts +2 -2
  72. package/dist/npm/models/transactions/vaultWithdraw.d.ts.map +1 -1
  73. package/dist/npm/models/transactions/vaultWithdraw.js.map +1 -1
  74. package/dist/npm/snippets/src/permissionedDEX.d.ts +2 -0
  75. package/dist/npm/snippets/src/permissionedDEX.d.ts.map +1 -0
  76. package/dist/npm/snippets/src/permissionedDEX.js +173 -0
  77. package/dist/npm/snippets/src/permissionedDEX.js.map +1 -0
  78. package/dist/npm/snippets/tsconfig.tsbuildinfo +1 -1
  79. package/dist/npm/src/models/common/index.d.ts +16 -0
  80. package/dist/npm/src/models/common/index.d.ts.map +1 -1
  81. package/dist/npm/src/models/ledger/AccountRoot.d.ts +3 -1
  82. package/dist/npm/src/models/ledger/AccountRoot.d.ts.map +1 -1
  83. package/dist/npm/src/models/ledger/AccountRoot.js +1 -0
  84. package/dist/npm/src/models/ledger/AccountRoot.js.map +1 -1
  85. package/dist/npm/src/models/ledger/DirectoryNode.d.ts +1 -0
  86. package/dist/npm/src/models/ledger/DirectoryNode.d.ts.map +1 -1
  87. package/dist/npm/src/models/ledger/Escrow.d.ts +2 -0
  88. package/dist/npm/src/models/ledger/Escrow.d.ts.map +1 -1
  89. package/dist/npm/src/models/ledger/MPToken.d.ts +1 -0
  90. package/dist/npm/src/models/ledger/MPToken.d.ts.map +1 -1
  91. package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts +1 -0
  92. package/dist/npm/src/models/ledger/MPTokenIssuance.d.ts.map +1 -1
  93. package/dist/npm/src/models/ledger/Offer.d.ts +10 -1
  94. package/dist/npm/src/models/ledger/Offer.d.ts.map +1 -1
  95. package/dist/npm/src/models/ledger/Offer.js +1 -0
  96. package/dist/npm/src/models/ledger/Offer.js.map +1 -1
  97. package/dist/npm/src/models/methods/bookOffers.d.ts +1 -0
  98. package/dist/npm/src/models/methods/bookOffers.d.ts.map +1 -1
  99. package/dist/npm/src/models/methods/pathFind.d.ts +2 -0
  100. package/dist/npm/src/models/methods/pathFind.d.ts.map +1 -1
  101. package/dist/npm/src/models/methods/ripplePathFind.d.ts +1 -0
  102. package/dist/npm/src/models/methods/ripplePathFind.d.ts.map +1 -1
  103. package/dist/npm/src/models/methods/subscribe.d.ts +4 -0
  104. package/dist/npm/src/models/methods/subscribe.d.ts.map +1 -1
  105. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts +1 -1
  106. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.d.ts.map +1 -1
  107. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js +14 -5
  108. package/dist/npm/src/models/transactions/MPTokenIssuanceCreate.js.map +1 -1
  109. package/dist/npm/src/models/transactions/accountSet.d.ts +2 -1
  110. package/dist/npm/src/models/transactions/accountSet.d.ts.map +1 -1
  111. package/dist/npm/src/models/transactions/accountSet.js +1 -0
  112. package/dist/npm/src/models/transactions/accountSet.js.map +1 -1
  113. package/dist/npm/src/models/transactions/common.d.ts +4 -0
  114. package/dist/npm/src/models/transactions/common.d.ts.map +1 -1
  115. package/dist/npm/src/models/transactions/common.js +134 -1
  116. package/dist/npm/src/models/transactions/common.js.map +1 -1
  117. package/dist/npm/src/models/transactions/escrowCreate.d.ts +2 -1
  118. package/dist/npm/src/models/transactions/escrowCreate.d.ts.map +1 -1
  119. package/dist/npm/src/models/transactions/escrowCreate.js +1 -6
  120. package/dist/npm/src/models/transactions/escrowCreate.js.map +1 -1
  121. package/dist/npm/src/models/transactions/escrowFinish.d.ts +5 -0
  122. package/dist/npm/src/models/transactions/escrowFinish.d.ts.map +1 -1
  123. package/dist/npm/src/models/transactions/escrowFinish.js.map +1 -1
  124. package/dist/npm/src/models/transactions/index.d.ts +1 -1
  125. package/dist/npm/src/models/transactions/index.d.ts.map +1 -1
  126. package/dist/npm/src/models/transactions/index.js +2 -1
  127. package/dist/npm/src/models/transactions/index.js.map +1 -1
  128. package/dist/npm/src/models/transactions/metadata.d.ts +2 -1
  129. package/dist/npm/src/models/transactions/metadata.d.ts.map +1 -1
  130. package/dist/npm/src/models/transactions/metadata.js.map +1 -1
  131. package/dist/npm/src/models/transactions/offerCreate.d.ts +4 -1
  132. package/dist/npm/src/models/transactions/offerCreate.d.ts.map +1 -1
  133. package/dist/npm/src/models/transactions/offerCreate.js +10 -0
  134. package/dist/npm/src/models/transactions/offerCreate.js.map +1 -1
  135. package/dist/npm/src/models/transactions/payment.d.ts +1 -0
  136. package/dist/npm/src/models/transactions/payment.d.ts.map +1 -1
  137. package/dist/npm/src/models/transactions/payment.js +4 -3
  138. package/dist/npm/src/models/transactions/payment.js.map +1 -1
  139. package/dist/npm/src/models/transactions/vaultCreate.d.ts.map +1 -1
  140. package/dist/npm/src/models/transactions/vaultCreate.js +13 -4
  141. package/dist/npm/src/models/transactions/vaultCreate.js.map +1 -1
  142. package/dist/npm/src/models/transactions/vaultDeposit.d.ts +2 -2
  143. package/dist/npm/src/models/transactions/vaultDeposit.d.ts.map +1 -1
  144. package/dist/npm/src/models/transactions/vaultDeposit.js.map +1 -1
  145. package/dist/npm/src/models/transactions/vaultWithdraw.d.ts +2 -2
  146. package/dist/npm/src/models/transactions/vaultWithdraw.d.ts.map +1 -1
  147. package/dist/npm/src/models/transactions/vaultWithdraw.js.map +1 -1
  148. package/package.json +4 -4
  149. package/src/models/common/index.ts +25 -0
  150. package/src/models/ledger/AccountRoot.ts +10 -0
  151. package/src/models/ledger/DirectoryNode.ts +3 -0
  152. package/src/models/ledger/Escrow.ts +13 -1
  153. package/src/models/ledger/MPToken.ts +1 -0
  154. package/src/models/ledger/MPTokenIssuance.ts +1 -0
  155. package/src/models/ledger/Offer.ts +21 -0
  156. package/src/models/methods/bookOffers.ts +7 -0
  157. package/src/models/methods/pathFind.ts +10 -0
  158. package/src/models/methods/ripplePathFind.ts +5 -0
  159. package/src/models/methods/subscribe.ts +21 -0
  160. package/src/models/transactions/MPTokenIssuanceCreate.ts +33 -10
  161. package/src/models/transactions/accountSet.ts +2 -0
  162. package/src/models/transactions/common.ts +236 -1
  163. package/src/models/transactions/escrowCreate.ts +8 -12
  164. package/src/models/transactions/escrowFinish.ts +7 -0
  165. package/src/models/transactions/index.ts +1 -1
  166. package/src/models/transactions/metadata.ts +3 -0
  167. package/src/models/transactions/offerCreate.ts +25 -0
  168. package/src/models/transactions/payment.ts +18 -6
  169. package/src/models/transactions/vaultCreate.ts +30 -6
  170. package/src/models/transactions/vaultDeposit.ts +3 -2
  171. package/src/models/transactions/vaultWithdraw.ts +3 -2
@@ -14,10 +14,11 @@ import {
14
14
  VAULT_DATA_MAX_BYTE_LENGTH,
15
15
  XRPLNumber,
16
16
  isXRPLNumber,
17
+ MAX_MPT_META_BYTE_LENGTH,
18
+ MPT_META_WARNING_HEADER,
19
+ validateMPTokenMetadata,
17
20
  } from './common'
18
21
 
19
- const META_MAX_BYTE_LENGTH = 1024
20
-
21
22
  /**
22
23
  * Enum representing withdrawal strategies for a Vault.
23
24
  */
@@ -71,6 +72,12 @@ export interface VaultCreate extends BaseTransaction {
71
72
 
72
73
  /**
73
74
  * Arbitrary metadata about the share MPT, in hex format, limited to 1024 bytes.
75
+ *
76
+ * The decoded value must be a UTF-8 encoded JSON object that adheres to the
77
+ * XLS-89d MPTokenMetadata standard.
78
+ *
79
+ * While adherence to the XLS-89d format is not mandatory, non-compliant metadata
80
+ * may not be discoverable by ecosystem tools such as explorers and indexers.
74
81
  */
75
82
  MPTokenMetadata?: string
76
83
 
@@ -85,13 +92,14 @@ export interface VaultCreate extends BaseTransaction {
85
92
  DomainID?: string
86
93
  }
87
94
 
95
+ /* eslint-disable max-lines-per-function -- Not needed to reduce function */
96
+ /* eslint-disable max-statements -- required to do all field validations */
88
97
  /**
89
98
  * Verify the form and type of an {@link VaultCreate} at runtime.
90
99
  *
91
100
  * @param tx - A {@link VaultCreate} Transaction.
92
101
  * @throws When the {@link VaultCreate} is malformed.
93
102
  */
94
- // eslint-disable-next-line max-lines-per-function -- required to do all field validations
95
103
  export function validateVaultCreate(tx: Record<string, unknown>): void {
96
104
  validateBaseTransaction(tx)
97
105
 
@@ -119,13 +127,13 @@ export function validateVaultCreate(tx: Record<string, unknown>): void {
119
127
  const metaHex = tx.MPTokenMetadata
120
128
  if (!isHex(metaHex)) {
121
129
  throw new ValidationError(
122
- 'VaultCreate: MPTokenMetadata must be a valid hex string',
130
+ 'VaultCreate: MPTokenMetadata must be a valid non-empty hex string',
123
131
  )
124
132
  }
125
133
  const metaByteLength = metaHex.length / 2
126
- if (metaByteLength > META_MAX_BYTE_LENGTH) {
134
+ if (metaByteLength > MAX_MPT_META_BYTE_LENGTH) {
127
135
  throw new ValidationError(
128
- `VaultCreate: MPTokenMetadata exceeds ${META_MAX_BYTE_LENGTH} bytes (actual: ${metaByteLength})`,
136
+ `VaultCreate: MPTokenMetadata exceeds ${MAX_MPT_META_BYTE_LENGTH} bytes (actual: ${metaByteLength})`,
129
137
  )
130
138
  }
131
139
  }
@@ -139,4 +147,20 @@ export function validateVaultCreate(tx: Record<string, unknown>): void {
139
147
  'VaultCreate: Cannot set DomainID unless tfVaultPrivate flag is set.',
140
148
  )
141
149
  }
150
+
151
+ if (tx.MPTokenMetadata != null) {
152
+ const validationMessages = validateMPTokenMetadata(tx.MPTokenMetadata)
153
+
154
+ if (validationMessages.length > 0) {
155
+ const message = [
156
+ MPT_META_WARNING_HEADER,
157
+ ...validationMessages.map((msg) => `- ${msg}`),
158
+ ].join('\n')
159
+
160
+ // eslint-disable-next-line no-console -- Required here.
161
+ console.warn(message)
162
+ }
163
+ }
142
164
  }
165
+ /* eslint-enable max-lines-per-function */
166
+ /* eslint-enable max-statements */
@@ -1,4 +1,4 @@
1
- import { Amount } from '../common'
1
+ import { Amount, MPTAmount } from '../common'
2
2
 
3
3
  import {
4
4
  BaseTransaction,
@@ -24,7 +24,8 @@ export interface VaultDeposit extends BaseTransaction {
24
24
  /**
25
25
  * Asset amount to deposit.
26
26
  */
27
- Amount: Amount
27
+ // TODO: remove MPTAmount when MPTv2 is released
28
+ Amount: Amount | MPTAmount
28
29
  }
29
30
 
30
31
  /**
@@ -1,4 +1,4 @@
1
- import { Amount } from '../common'
1
+ import { Amount, MPTAmount } from '../common'
2
2
 
3
3
  import {
4
4
  BaseTransaction,
@@ -27,7 +27,8 @@ export interface VaultWithdraw extends BaseTransaction {
27
27
  /**
28
28
  * The exact amount of Vault asset to withdraw.
29
29
  */
30
- Amount: Amount
30
+ // TODO: remove MPTAmount when MPTv2 is released
31
+ Amount: Amount | MPTAmount
31
32
 
32
33
  /**
33
34
  * An account to receive the assets. It must be able to receive the asset.