@transia/ripple-binary-codec 1.4.6-alpha.9 → 2.5.2-alpha.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 (363) hide show
  1. package/dist/binary.d.ts +30 -16
  2. package/dist/binary.js +36 -16
  3. package/dist/binary.js.map +1 -1
  4. package/dist/enums/bytes.d.ts +1 -2
  5. package/dist/enums/bytes.js +3 -2
  6. package/dist/enums/bytes.js.map +1 -1
  7. package/dist/enums/constants.d.ts +1 -0
  8. package/dist/enums/constants.js +6 -5
  9. package/dist/enums/constants.js.map +1 -1
  10. package/dist/enums/definitions.json +1604 -969
  11. package/dist/enums/field.d.ts +1 -2
  12. package/dist/enums/field.js +1 -2
  13. package/dist/enums/field.js.map +1 -1
  14. package/dist/enums/index.d.ts +1 -2
  15. package/dist/enums/index.js +5 -27
  16. package/dist/enums/index.js.map +1 -1
  17. package/dist/enums/src/enums/definitions.json +1606 -971
  18. package/dist/enums/xrpl-definitions-base.d.ts +5 -3
  19. package/dist/enums/xrpl-definitions-base.js +26 -6
  20. package/dist/enums/xrpl-definitions-base.js.map +1 -1
  21. package/dist/enums/xrpl-definitions.d.ts +2 -1
  22. package/dist/enums/xrpl-definitions.js +2 -1
  23. package/dist/enums/xrpl-definitions.js.map +1 -1
  24. package/dist/hash-prefixes.d.ts +1 -2
  25. package/dist/hash-prefixes.js +8 -6
  26. package/dist/hash-prefixes.js.map +1 -1
  27. package/dist/hashes.d.ts +6 -7
  28. package/dist/hashes.js +6 -7
  29. package/dist/hashes.js.map +1 -1
  30. package/dist/index.d.ts +16 -11
  31. package/dist/index.js +53 -58
  32. package/dist/index.js.map +1 -1
  33. package/dist/ledger-hashes.d.ts +1 -2
  34. package/dist/ledger-hashes.js +11 -30
  35. package/dist/ledger-hashes.js.map +1 -1
  36. package/dist/quality.d.ts +3 -4
  37. package/dist/quality.js +10 -8
  38. package/dist/quality.js.map +1 -1
  39. package/dist/serdes/binary-parser.d.ts +2 -3
  40. package/dist/serdes/binary-parser.js +16 -32
  41. package/dist/serdes/binary-parser.js.map +1 -1
  42. package/dist/serdes/binary-serializer.d.ts +7 -8
  43. package/dist/serdes/binary-serializer.js +14 -37
  44. package/dist/serdes/binary-serializer.js.map +1 -1
  45. package/dist/shamap.d.ts +4 -5
  46. package/dist/shamap.js +5 -5
  47. package/dist/shamap.js.map +1 -1
  48. package/dist/src/binary.d.ts +106 -0
  49. package/dist/src/binary.js +154 -0
  50. package/dist/src/binary.js.map +1 -0
  51. package/dist/src/coretypes.d.ts +9 -0
  52. package/dist/src/coretypes.js +48 -0
  53. package/dist/src/coretypes.js.map +1 -0
  54. package/dist/src/enums/bytes.d.ts +25 -0
  55. package/dist/src/enums/bytes.js +65 -0
  56. package/dist/src/enums/bytes.js.map +1 -0
  57. package/dist/src/enums/constants.d.ts +5 -0
  58. package/dist/src/enums/constants.js +9 -0
  59. package/dist/src/enums/constants.js.map +1 -0
  60. package/dist/src/enums/definitions.json +3404 -0
  61. package/dist/src/enums/field.d.ts +28 -0
  62. package/dist/src/enums/field.js +58 -0
  63. package/dist/src/enums/field.js.map +1 -0
  64. package/dist/src/enums/index.d.ts +12 -0
  65. package/dist/src/enums/index.js +31 -0
  66. package/dist/src/enums/index.js.map +1 -0
  67. package/dist/src/enums/utils-renumber.d.ts +101 -0
  68. package/dist/src/enums/utils-renumber.js +127 -0
  69. package/dist/src/enums/utils-renumber.js.map +1 -0
  70. package/dist/src/enums/xrpl-definitions-base.d.ts +47 -0
  71. package/dist/src/enums/xrpl-definitions-base.js +83 -0
  72. package/dist/src/enums/xrpl-definitions-base.js.map +1 -0
  73. package/dist/src/enums/xrpl-definitions.d.ts +22 -0
  74. package/dist/src/enums/xrpl-definitions.js +30 -0
  75. package/dist/src/enums/xrpl-definitions.js.map +1 -0
  76. package/dist/src/hash-prefixes.d.ts +5 -0
  77. package/dist/src/hash-prefixes.js +43 -0
  78. package/dist/src/hash-prefixes.js.map +1 -0
  79. package/dist/src/hashes.d.ts +50 -0
  80. package/dist/src/hashes.js +76 -0
  81. package/dist/src/hashes.js.map +1 -0
  82. package/dist/src/index.d.ts +69 -0
  83. package/dist/src/index.js +134 -0
  84. package/dist/src/index.js.map +1 -0
  85. package/dist/src/ledger-hashes.d.ts +48 -0
  86. package/dist/src/ledger-hashes.js +141 -0
  87. package/dist/src/ledger-hashes.js.map +1 -0
  88. package/dist/src/quality.d.ts +21 -0
  89. package/dist/src/quality.js +42 -0
  90. package/dist/src/quality.js.map +1 -0
  91. package/dist/src/serdes/binary-parser.d.ts +100 -0
  92. package/dist/src/serdes/binary-parser.js +194 -0
  93. package/dist/src/serdes/binary-parser.js.map +1 -0
  94. package/dist/src/serdes/binary-serializer.d.ts +81 -0
  95. package/dist/src/serdes/binary-serializer.js +149 -0
  96. package/dist/src/serdes/binary-serializer.js.map +1 -0
  97. package/dist/src/shamap.d.ts +102 -0
  98. package/dist/src/shamap.js +172 -0
  99. package/dist/src/shamap.js.map +1 -0
  100. package/dist/src/types/account-id.d.ts +37 -0
  101. package/dist/src/types/account-id.js +73 -0
  102. package/dist/src/types/account-id.js.map +1 -0
  103. package/dist/src/types/amount.d.ts +92 -0
  104. package/dist/src/types/amount.js +292 -0
  105. package/dist/src/types/amount.js.map +1 -0
  106. package/dist/src/types/blob.d.ts +25 -0
  107. package/dist/src/types/blob.js +46 -0
  108. package/dist/src/types/blob.js.map +1 -0
  109. package/dist/src/types/currency.d.ts +30 -0
  110. package/dist/src/types/currency.js +131 -0
  111. package/dist/src/types/currency.js.map +1 -0
  112. package/dist/src/types/data.d.ts +104 -0
  113. package/dist/src/types/data.js +387 -0
  114. package/dist/src/types/data.js.map +1 -0
  115. package/dist/src/types/dataType.d.ts +94 -0
  116. package/dist/src/types/dataType.js +145 -0
  117. package/dist/src/types/dataType.js.map +1 -0
  118. package/dist/src/types/hash-128.d.ts +18 -0
  119. package/dist/src/types/hash-128.js +36 -0
  120. package/dist/src/types/hash-128.js.map +1 -0
  121. package/dist/src/types/hash-160.d.ts +12 -0
  122. package/dist/src/types/hash-160.js +23 -0
  123. package/dist/src/types/hash-160.js.map +1 -0
  124. package/dist/src/types/hash-192.d.ts +12 -0
  125. package/dist/src/types/hash-192.js +23 -0
  126. package/dist/src/types/hash-192.js.map +1 -0
  127. package/dist/src/types/hash-256.d.ts +12 -0
  128. package/dist/src/types/hash-256.js +20 -0
  129. package/dist/src/types/hash-256.js.map +1 -0
  130. package/dist/src/types/hash.d.ts +40 -0
  131. package/dist/src/types/hash.js +76 -0
  132. package/dist/src/types/hash.js.map +1 -0
  133. package/dist/src/types/index.d.ts +21 -0
  134. package/dist/src/types/index.js +72 -0
  135. package/dist/src/types/index.js.map +1 -0
  136. package/dist/src/types/issue.d.ts +49 -0
  137. package/dist/src/types/issue.js +107 -0
  138. package/dist/src/types/issue.js.map +1 -0
  139. package/dist/src/types/json.d.ts +169 -0
  140. package/dist/src/types/json.js +529 -0
  141. package/dist/src/types/json.js.map +1 -0
  142. package/dist/src/types/path-set.d.ts +37 -0
  143. package/dist/src/types/path-set.js +236 -0
  144. package/dist/src/types/path-set.js.map +1 -0
  145. package/dist/src/types/serialized-type.d.ts +117 -0
  146. package/dist/src/types/serialized-type.js +242 -0
  147. package/dist/src/types/serialized-type.js.map +1 -0
  148. package/dist/src/types/st-array.d.ts +32 -0
  149. package/dist/src/types/st-array.js +89 -0
  150. package/dist/src/types/st-array.js.map +1 -0
  151. package/dist/src/types/st-number.d.ts +55 -0
  152. package/dist/src/types/st-number.js +212 -0
  153. package/dist/src/types/st-number.js.map +1 -0
  154. package/dist/src/types/st-object.d.ts +33 -0
  155. package/dist/src/types/st-object.js +176 -0
  156. package/dist/src/types/st-object.js.map +1 -0
  157. package/dist/src/types/uint-16.d.ts +26 -0
  158. package/dist/src/types/uint-16.js +49 -0
  159. package/dist/src/types/uint-16.js.map +1 -0
  160. package/dist/src/types/uint-32.d.ts +26 -0
  161. package/dist/src/types/uint-32.js +54 -0
  162. package/dist/src/types/uint-32.js.map +1 -0
  163. package/dist/src/types/uint-64.d.ts +40 -0
  164. package/dist/src/types/uint-64.js +112 -0
  165. package/dist/src/types/uint-64.js.map +1 -0
  166. package/dist/src/types/uint-8.d.ts +26 -0
  167. package/dist/src/types/uint-8.js +50 -0
  168. package/dist/src/types/uint-8.js.map +1 -0
  169. package/dist/src/types/uint.d.ts +29 -0
  170. package/dist/src/types/uint.js +47 -0
  171. package/dist/src/types/uint.js.map +1 -0
  172. package/dist/src/types/vector-256.d.ts +31 -0
  173. package/dist/src/types/vector-256.js +76 -0
  174. package/dist/src/types/vector-256.js.map +1 -0
  175. package/dist/src/types/xchain-bridge.d.ts +45 -0
  176. package/dist/src/types/xchain-bridge.js +105 -0
  177. package/dist/src/types/xchain-bridge.js.map +1 -0
  178. package/dist/src/utils.d.ts +79 -0
  179. package/dist/src/utils.js +181 -0
  180. package/dist/src/utils.js.map +1 -0
  181. package/dist/tsconfig.tsbuildinfo +1 -0
  182. package/dist/types/account-id.d.ts +3 -2
  183. package/dist/types/account-id.js +8 -6
  184. package/dist/types/account-id.js.map +1 -1
  185. package/dist/types/amount.d.ts +33 -9
  186. package/dist/types/amount.js +128 -43
  187. package/dist/types/amount.js.map +1 -1
  188. package/dist/types/blob.d.ts +3 -3
  189. package/dist/types/blob.js +8 -2
  190. package/dist/types/blob.js.map +1 -1
  191. package/dist/types/currency.d.ts +3 -2
  192. package/dist/types/currency.js +17 -13
  193. package/dist/types/currency.js.map +1 -1
  194. package/dist/types/data.d.ts +104 -0
  195. package/dist/types/data.js +387 -0
  196. package/dist/types/data.js.map +1 -0
  197. package/dist/types/dataType.d.ts +94 -0
  198. package/dist/types/dataType.js +145 -0
  199. package/dist/types/dataType.js.map +1 -0
  200. package/dist/types/hash-128.d.ts +3 -2
  201. package/dist/types/hash-128.js +7 -3
  202. package/dist/types/hash-128.js.map +1 -1
  203. package/dist/types/hash-160.d.ts +3 -2
  204. package/dist/types/hash-160.js +5 -2
  205. package/dist/types/hash-160.js.map +1 -1
  206. package/dist/types/hash-192.d.ts +12 -0
  207. package/dist/types/hash-192.js +23 -0
  208. package/dist/types/hash-192.js.map +1 -0
  209. package/dist/types/hash-256.d.ts +3 -2
  210. package/dist/types/hash-256.js +5 -2
  211. package/dist/types/hash-256.js.map +1 -1
  212. package/dist/types/hash.d.ts +2 -3
  213. package/dist/types/hash.js +8 -4
  214. package/dist/types/hash.js.map +1 -1
  215. package/dist/types/index.d.ts +4 -1
  216. package/dist/types/index.js +17 -2
  217. package/dist/types/index.js.map +1 -1
  218. package/dist/types/issue.d.ts +49 -0
  219. package/dist/types/issue.js +107 -0
  220. package/dist/types/issue.js.map +1 -0
  221. package/dist/types/json.d.ts +169 -0
  222. package/dist/types/json.js +529 -0
  223. package/dist/types/json.js.map +1 -0
  224. package/dist/types/path-set.d.ts +2 -1
  225. package/dist/types/path-set.js +15 -12
  226. package/dist/types/path-set.js.map +1 -1
  227. package/dist/types/serialized-type.d.ts +70 -16
  228. package/dist/types/serialized-type.js +153 -8
  229. package/dist/types/serialized-type.js.map +1 -1
  230. package/dist/types/st-array.d.ts +7 -3
  231. package/dist/types/st-array.js +20 -11
  232. package/dist/types/st-array.js.map +1 -1
  233. package/dist/types/st-number.d.ts +55 -0
  234. package/dist/types/st-number.js +212 -0
  235. package/dist/types/st-number.js.map +1 -0
  236. package/dist/types/st-object.d.ts +2 -1
  237. package/dist/types/st-object.js +35 -8
  238. package/dist/types/st-object.js.map +1 -1
  239. package/dist/types/uint-16.d.ts +3 -2
  240. package/dist/types/uint-16.js +10 -5
  241. package/dist/types/uint-16.js.map +1 -1
  242. package/dist/types/uint-32.d.ts +3 -2
  243. package/dist/types/uint-32.js +11 -6
  244. package/dist/types/uint-32.js.map +1 -1
  245. package/dist/types/uint-64.d.ts +8 -7
  246. package/dist/types/uint-64.js +49 -24
  247. package/dist/types/uint-64.js.map +1 -1
  248. package/dist/types/uint-8.d.ts +3 -2
  249. package/dist/types/uint-8.js +11 -5
  250. package/dist/types/uint-8.js.map +1 -1
  251. package/dist/types/uint.d.ts +5 -6
  252. package/dist/types/uint.js +5 -0
  253. package/dist/types/uint.js.map +1 -1
  254. package/dist/types/vector-256.d.ts +3 -3
  255. package/dist/types/vector-256.js +5 -4
  256. package/dist/types/vector-256.js.map +1 -1
  257. package/dist/types/xchain-bridge.d.ts +45 -0
  258. package/dist/types/xchain-bridge.js +105 -0
  259. package/dist/types/xchain-bridge.js.map +1 -0
  260. package/dist/utils.d.ts +79 -0
  261. package/dist/utils.js +181 -0
  262. package/dist/utils.js.map +1 -0
  263. package/package.json +21 -17
  264. package/src/README.md +5 -0
  265. package/src/binary.ts +235 -0
  266. package/src/coretypes.ts +31 -0
  267. package/src/enums/README.md +144 -0
  268. package/src/enums/bytes.ts +80 -0
  269. package/src/enums/constants.ts +5 -0
  270. package/src/enums/definitions.json +3409 -0
  271. package/src/enums/field.ts +84 -0
  272. package/src/enums/index.ts +34 -0
  273. package/src/enums/utils-renumber.ts +134 -0
  274. package/src/enums/xrpl-definitions-base.ts +150 -0
  275. package/src/enums/xrpl-definitions.ts +33 -0
  276. package/src/hash-prefixes.ts +42 -0
  277. package/src/hashes.ts +75 -0
  278. package/src/index.ts +166 -0
  279. package/src/ledger-hashes.ts +191 -0
  280. package/src/quality.ts +38 -0
  281. package/src/serdes/binary-parser.ts +228 -0
  282. package/src/serdes/binary-serializer.ts +166 -0
  283. package/src/shamap.ts +189 -0
  284. package/src/types/account-id.ts +91 -0
  285. package/src/types/amount.ts +366 -0
  286. package/src/types/blob.ts +50 -0
  287. package/src/types/currency.ts +145 -0
  288. package/src/types/data.ts +496 -0
  289. package/src/types/dataType.ts +178 -0
  290. package/src/types/hash-128.ts +38 -0
  291. package/src/types/hash-160.ts +24 -0
  292. package/src/types/hash-192.ts +24 -0
  293. package/src/types/hash-256.ts +20 -0
  294. package/src/types/hash.ts +86 -0
  295. package/src/types/index.ts +74 -0
  296. package/src/types/issue.ts +140 -0
  297. package/src/types/json.ts +641 -0
  298. package/src/types/path-set.ts +294 -0
  299. package/src/types/serialized-type.ts +271 -0
  300. package/src/types/st-array.ts +117 -0
  301. package/src/types/st-number.ts +238 -0
  302. package/src/types/st-object.ts +219 -0
  303. package/src/types/uint-16.ts +58 -0
  304. package/src/types/uint-32.ts +64 -0
  305. package/src/types/uint-64.ts +141 -0
  306. package/src/types/uint-8.ts +57 -0
  307. package/src/types/uint.ts +60 -0
  308. package/src/types/vector-256.ts +83 -0
  309. package/src/types/xchain-bridge.ts +132 -0
  310. package/src/utils.ts +220 -0
  311. package/test/amount.test.js +0 -43
  312. package/test/binary-json.test.js +0 -45
  313. package/test/binary-parser.test.js +0 -396
  314. package/test/binary-serializer.test.js +0 -319
  315. package/test/definitions.test.js +0 -100
  316. package/test/fixtures/account-tx-transactions.db +0 -0
  317. package/test/fixtures/codec-fixtures.json +0 -4466
  318. package/test/fixtures/data-driven-tests.json +0 -2919
  319. package/test/fixtures/delivermin-tx-binary.json +0 -1
  320. package/test/fixtures/delivermin-tx.json +0 -98
  321. package/test/fixtures/deposit-preauth-tx-binary.json +0 -1
  322. package/test/fixtures/deposit-preauth-tx-meta-binary.json +0 -1
  323. package/test/fixtures/deposit-preauth-tx.json +0 -58
  324. package/test/fixtures/escrow-cancel-binary.json +0 -1
  325. package/test/fixtures/escrow-cancel-tx.json +0 -6
  326. package/test/fixtures/escrow-create-binary.json +0 -1
  327. package/test/fixtures/escrow-create-tx.json +0 -10
  328. package/test/fixtures/escrow-finish-binary.json +0 -1
  329. package/test/fixtures/escrow-finish-meta-binary.json +0 -1
  330. package/test/fixtures/escrow-finish-tx.json +0 -95
  331. package/test/fixtures/ledger-full-38129.json +0 -1
  332. package/test/fixtures/ledger-full-40000.json +0 -1
  333. package/test/fixtures/negative-unl.json +0 -12
  334. package/test/fixtures/nf-token.json +0 -547
  335. package/test/fixtures/payment-channel-claim-binary.json +0 -1
  336. package/test/fixtures/payment-channel-claim-tx.json +0 -8
  337. package/test/fixtures/payment-channel-create-binary.json +0 -1
  338. package/test/fixtures/payment-channel-create-tx.json +0 -11
  339. package/test/fixtures/payment-channel-fund-binary.json +0 -1
  340. package/test/fixtures/payment-channel-fund-tx.json +0 -7
  341. package/test/fixtures/remit-binary.json +0 -1
  342. package/test/fixtures/remit-tx.json +0 -39
  343. package/test/fixtures/signerlistset-tx-binary.json +0 -1
  344. package/test/fixtures/signerlistset-tx-meta-binary.json +0 -1
  345. package/test/fixtures/signerlistset-tx.json +0 -94
  346. package/test/fixtures/ticket-create-binary.json +0 -1
  347. package/test/fixtures/ticket-create-tx.json +0 -7
  348. package/test/fixtures/unl-report-binary.json +0 -1
  349. package/test/fixtures/unl-report-meta-binary.json +0 -1
  350. package/test/fixtures/unl-report.json +0 -89
  351. package/test/fixtures/x-codec-fixtures.json +0 -188
  352. package/test/hash.test.js +0 -135
  353. package/test/ledger.test.js +0 -29
  354. package/test/lower-case-hex.test.js +0 -46
  355. package/test/pseudo-transaction.test.js +0 -38
  356. package/test/quality.test.js +0 -15
  357. package/test/shamap.test.js +0 -89
  358. package/test/signing-data-encoding.test.js +0 -213
  359. package/test/tx-encode-decode.test.js +0 -119
  360. package/test/types.test.js +0 -34
  361. package/test/uint.test.js +0 -148
  362. package/test/utils.js +0 -30
  363. package/test/x-address.test.js +0 -181
@@ -0,0 +1,387 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Data = void 0;
4
+ /* eslint-disable max-lines */
5
+ /* eslint-disable complexity */
6
+ const binary_parser_1 = require("../serdes/binary-parser");
7
+ const serialized_type_1 = require("./serialized-type");
8
+ const utils_1 = require("../utils");
9
+ const utils_2 = require("@transia/isomorphic/utils");
10
+ const hash_128_1 = require("./hash-128");
11
+ const hash_160_1 = require("./hash-160");
12
+ const hash_192_1 = require("./hash-192");
13
+ const hash_256_1 = require("./hash-256");
14
+ const account_id_1 = require("./account-id");
15
+ const amount_1 = require("./amount");
16
+ const blob_1 = require("./blob");
17
+ const currency_1 = require("./currency");
18
+ const st_number_1 = require("./st-number");
19
+ const issue_1 = require("./issue");
20
+ const uint_8_1 = require("./uint-8");
21
+ const uint_16_1 = require("./uint-16");
22
+ const uint_32_1 = require("./uint-32");
23
+ const uint_64_1 = require("./uint-64");
24
+ const binary_1 = require("../binary");
25
+ /**
26
+ * STData: Encodes XRPL's "Data" type.
27
+ *
28
+ * This type wraps both a SerializedTypeID and the actual data value.
29
+ * It's encoded as a 2-byte type ID followed by the serialized data.
30
+ *
31
+ * Usage:
32
+ * Data.from({ type: "AMOUNT", value: "1000000" })
33
+ * Data.from({ type: "UINT64", value: "123456789" })
34
+ * Data.fromParser(parser)
35
+ */
36
+ class Data extends serialized_type_1.SerializedType {
37
+ /**
38
+ * Construct Data from bytes
39
+ * @param bytes - Uint8Array containing type ID and data
40
+ */
41
+ constructor(bytes) {
42
+ super(bytes !== null && bytes !== void 0 ? bytes : Data.ZERO_DATA.bytes);
43
+ }
44
+ /**
45
+ * Create Data from various input types
46
+ *
47
+ * @param value - Can be:
48
+ * - Data instance (returns as-is)
49
+ * - DataJSON object with 'type' and 'value' fields
50
+ * @returns Data instance
51
+ * @throws Error if value type is not supported
52
+ */
53
+ static from(value) {
54
+ if (value instanceof Data) {
55
+ return value;
56
+ }
57
+ if (typeof value === 'object' &&
58
+ value !== null &&
59
+ 'type' in value &&
60
+ 'value' in value) {
61
+ const json = value;
62
+ return Data.fromJSON(json);
63
+ }
64
+ throw new Error('Data.from: value must be Data instance or DataJSON object');
65
+ }
66
+ /**
67
+ * Create Data from JSON representation
68
+ *
69
+ * @param json - Object with 'type' and 'value' fields
70
+ * @returns Data instance
71
+ * @throws Error if type is not supported
72
+ */
73
+ static fromJSON(json) {
74
+ const typeId = serialized_type_1.TYPE_STRING_TO_ID[json.type];
75
+ if (typeId === undefined) {
76
+ throw new Error(`Data: unsupported type string: ${json.type}`);
77
+ }
78
+ let dataValue;
79
+ let dataBytes;
80
+ switch (typeId) {
81
+ case serialized_type_1.SerializedTypeID.STI_UINT8: {
82
+ const val = typeof json.value === 'string'
83
+ ? parseInt(json.value, 10)
84
+ : typeof json.value === 'number'
85
+ ? json.value
86
+ : Number(json.value);
87
+ if (typeof val !== 'number' ||
88
+ Number.isNaN(val) ||
89
+ val < 0 ||
90
+ val > 255) {
91
+ throw new Error('UINT8 value out of range');
92
+ }
93
+ dataValue = uint_8_1.UInt8.from(val);
94
+ dataBytes = dataValue.toBytes();
95
+ break;
96
+ }
97
+ case serialized_type_1.SerializedTypeID.STI_UINT16: {
98
+ const val = typeof json.value === 'string'
99
+ ? parseInt(json.value, 10)
100
+ : typeof json.value === 'number'
101
+ ? json.value
102
+ : Number(json.value);
103
+ if (typeof val !== 'number' ||
104
+ Number.isNaN(val) ||
105
+ val < 0 ||
106
+ val > 65535) {
107
+ throw new Error('UINT16 value out of range');
108
+ }
109
+ dataValue = uint_16_1.UInt16.from(val);
110
+ dataBytes = dataValue.toBytes();
111
+ break;
112
+ }
113
+ case serialized_type_1.SerializedTypeID.STI_UINT32: {
114
+ const val = typeof json.value === 'string'
115
+ ? parseInt(json.value, 10)
116
+ : typeof json.value === 'number'
117
+ ? json.value
118
+ : Number(json.value);
119
+ dataValue = uint_32_1.UInt32.from(val);
120
+ dataBytes = dataValue.toBytes();
121
+ break;
122
+ }
123
+ case serialized_type_1.SerializedTypeID.STI_UINT64: {
124
+ const val = typeof json.value === 'string' ? json.value : json.value.toString();
125
+ dataValue = uint_64_1.UInt64.from(val);
126
+ dataBytes = dataValue.toBytes();
127
+ break;
128
+ }
129
+ case serialized_type_1.SerializedTypeID.STI_UINT128: {
130
+ const val = typeof json.value === 'string' ? json.value : json.value.toString();
131
+ dataValue = hash_128_1.Hash128.from(val);
132
+ dataBytes = dataValue.toBytes();
133
+ break;
134
+ }
135
+ case serialized_type_1.SerializedTypeID.STI_UINT160: {
136
+ const val = typeof json.value === 'string' ? json.value : json.value.toString();
137
+ dataValue = hash_160_1.Hash160.from(val);
138
+ dataBytes = dataValue.toBytes();
139
+ break;
140
+ }
141
+ case serialized_type_1.SerializedTypeID.STI_UINT192: {
142
+ const val = typeof json.value === 'string' ? json.value : json.value.toString();
143
+ dataValue = hash_192_1.Hash192.from(val);
144
+ dataBytes = dataValue.toBytes();
145
+ break;
146
+ }
147
+ case serialized_type_1.SerializedTypeID.STI_UINT256: {
148
+ const val = typeof json.value === 'string' ? json.value : json.value.toString();
149
+ dataValue = hash_256_1.Hash256.from(val);
150
+ dataBytes = dataValue.toBytes();
151
+ break;
152
+ }
153
+ case serialized_type_1.SerializedTypeID.STI_VL: {
154
+ const val = typeof json.value === 'string' ? json.value : json.value.toString();
155
+ dataValue = blob_1.Blob.from(val);
156
+ dataBytes = dataValue.toBytes();
157
+ const lengthBytes = binary_1.BinarySerializer.encodeVariableLength(dataBytes.length);
158
+ dataBytes = (0, utils_2.concat)([lengthBytes, dataBytes]);
159
+ break;
160
+ }
161
+ case serialized_type_1.SerializedTypeID.STI_ACCOUNT: {
162
+ dataValue = account_id_1.AccountID.from(typeof json.value === 'string' ? json.value : json.value.toString());
163
+ dataBytes = dataValue.toBytes();
164
+ dataBytes = (0, utils_2.concat)([new Uint8Array([0x14]), dataBytes]);
165
+ break;
166
+ }
167
+ case serialized_type_1.SerializedTypeID.STI_AMOUNT: {
168
+ dataValue = amount_1.Amount.from(json.value);
169
+ dataBytes = dataValue.toBytes();
170
+ break;
171
+ }
172
+ case serialized_type_1.SerializedTypeID.STI_ISSUE: {
173
+ dataValue = issue_1.Issue.from(json.value);
174
+ dataBytes = dataValue.toBytes();
175
+ break;
176
+ }
177
+ case serialized_type_1.SerializedTypeID.STI_CURRENCY: {
178
+ const val = typeof json.value === 'string' ? json.value : json.value.toString();
179
+ dataValue = currency_1.Currency.from(val);
180
+ dataBytes = dataValue.toBytes();
181
+ break;
182
+ }
183
+ case serialized_type_1.SerializedTypeID.STI_NUMBER: {
184
+ dataValue = st_number_1.STNumber.from(json.value);
185
+ dataBytes = dataValue.toBytes();
186
+ break;
187
+ }
188
+ default:
189
+ throw new Error(`Data.fromJSON(): unsupported type ID: ${typeId}`);
190
+ }
191
+ // Combine type header with data bytes
192
+ const typeBytes = new Uint8Array(2);
193
+ (0, utils_1.writeUInt16BE)(typeBytes, typeId, 0);
194
+ const fullBytes = (0, utils_2.concat)([typeBytes, dataBytes]);
195
+ return new Data(fullBytes);
196
+ }
197
+ /**
198
+ * Read Data from a BinaryParser stream
199
+ *
200
+ * @param parser - BinaryParser positioned at the start of Data
201
+ * @returns Data instance
202
+ */
203
+ static fromParser(parser) {
204
+ // Read the 2-byte type ID
205
+ const typeBytes = parser.read(2);
206
+ const typeId = serialized_type_1.TYPE_NUMBER_TO_ID[(0, utils_1.readUInt16BE)(typeBytes, 0)];
207
+ let dataValue;
208
+ let dataBytes;
209
+ switch (typeId) {
210
+ case serialized_type_1.SerializedTypeID.STI_UINT8:
211
+ dataValue = uint_8_1.UInt8.fromParser(parser);
212
+ dataBytes = dataValue.toBytes();
213
+ break;
214
+ case serialized_type_1.SerializedTypeID.STI_UINT16:
215
+ dataValue = uint_16_1.UInt16.fromParser(parser);
216
+ dataBytes = dataValue.toBytes();
217
+ break;
218
+ case serialized_type_1.SerializedTypeID.STI_UINT32:
219
+ dataValue = uint_32_1.UInt32.fromParser(parser);
220
+ dataBytes = dataValue.toBytes();
221
+ break;
222
+ case serialized_type_1.SerializedTypeID.STI_UINT64:
223
+ dataValue = uint_64_1.UInt64.fromParser(parser);
224
+ dataBytes = dataValue.toBytes();
225
+ break;
226
+ case serialized_type_1.SerializedTypeID.STI_UINT128:
227
+ dataValue = hash_128_1.Hash128.fromParser(parser);
228
+ dataBytes = dataValue.toBytes();
229
+ break;
230
+ case serialized_type_1.SerializedTypeID.STI_UINT160:
231
+ dataValue = hash_160_1.Hash160.fromParser(parser);
232
+ dataBytes = dataValue.toBytes();
233
+ break;
234
+ case serialized_type_1.SerializedTypeID.STI_UINT192:
235
+ dataValue = hash_192_1.Hash192.fromParser(parser);
236
+ dataBytes = dataValue.toBytes();
237
+ break;
238
+ case serialized_type_1.SerializedTypeID.STI_UINT256:
239
+ dataValue = hash_256_1.Hash256.fromParser(parser);
240
+ dataBytes = dataValue.toBytes();
241
+ break;
242
+ case serialized_type_1.SerializedTypeID.STI_VL:
243
+ dataValue = blob_1.Blob.fromParser(parser, parser.readVariableLengthLength());
244
+ dataBytes = dataValue.toBytes();
245
+ break;
246
+ case serialized_type_1.SerializedTypeID.STI_ACCOUNT:
247
+ parser.skip(1);
248
+ dataValue = account_id_1.AccountID.fromParser(parser);
249
+ dataBytes = dataValue.toBytes();
250
+ break;
251
+ case serialized_type_1.SerializedTypeID.STI_AMOUNT:
252
+ dataValue = amount_1.Amount.fromParser(parser);
253
+ dataBytes = dataValue.toBytes();
254
+ break;
255
+ case serialized_type_1.SerializedTypeID.STI_ISSUE:
256
+ dataValue = issue_1.Issue.fromParser(parser);
257
+ dataBytes = dataValue.toBytes();
258
+ break;
259
+ case serialized_type_1.SerializedTypeID.STI_CURRENCY:
260
+ dataValue = currency_1.Currency.fromParser(parser);
261
+ dataBytes = dataValue.toBytes();
262
+ break;
263
+ case serialized_type_1.SerializedTypeID.STI_NUMBER:
264
+ dataValue = st_number_1.STNumber.fromParser(parser);
265
+ dataBytes = dataValue.toBytes();
266
+ break;
267
+ default:
268
+ throw new Error(`Data: unsupported type ID when parsing: ${typeId}`);
269
+ }
270
+ const fullBytes = (0, utils_2.concat)([typeBytes, dataBytes]);
271
+ return new Data(fullBytes);
272
+ }
273
+ /**
274
+ * Get the inner SerializedTypeID
275
+ *
276
+ * @returns The inner type ID
277
+ */
278
+ getInnerType() {
279
+ return serialized_type_1.TYPE_NUMBER_TO_ID[(0, utils_1.readUInt16BE)(this.bytes, 0)];
280
+ }
281
+ /**
282
+ * Get the string representation of the inner type
283
+ *
284
+ * @returns String name of the type
285
+ */
286
+ getInnerTypeString() {
287
+ const innerType = this.getInnerType();
288
+ return serialized_type_1.TYPE_ID_TO_STRING[innerType] || innerType.toString();
289
+ }
290
+ /**
291
+ * Get the data value
292
+ *
293
+ * @returns The stored data value
294
+ */
295
+ getValue() {
296
+ const innerType = this.getInnerType();
297
+ const parser = new binary_parser_1.BinaryParser((0, utils_2.bytesToHex)(this.bytes.slice(2)));
298
+ switch (innerType) {
299
+ case serialized_type_1.SerializedTypeID.STI_UINT8:
300
+ return uint_8_1.UInt8.fromParser(parser);
301
+ case serialized_type_1.SerializedTypeID.STI_UINT16:
302
+ return uint_16_1.UInt16.fromParser(parser);
303
+ case serialized_type_1.SerializedTypeID.STI_UINT32:
304
+ return uint_32_1.UInt32.fromParser(parser);
305
+ case serialized_type_1.SerializedTypeID.STI_UINT64:
306
+ return uint_64_1.UInt64.fromParser(parser);
307
+ case serialized_type_1.SerializedTypeID.STI_UINT128:
308
+ return hash_128_1.Hash128.fromParser(parser);
309
+ case serialized_type_1.SerializedTypeID.STI_UINT160:
310
+ return hash_160_1.Hash160.fromParser(parser);
311
+ case serialized_type_1.SerializedTypeID.STI_UINT192:
312
+ return hash_192_1.Hash192.fromParser(parser);
313
+ case serialized_type_1.SerializedTypeID.STI_UINT256:
314
+ return hash_256_1.Hash256.fromParser(parser);
315
+ case serialized_type_1.SerializedTypeID.STI_VL:
316
+ return blob_1.Blob.fromParser(parser, parser.size());
317
+ case serialized_type_1.SerializedTypeID.STI_ACCOUNT:
318
+ return account_id_1.AccountID.fromParser(parser);
319
+ case serialized_type_1.SerializedTypeID.STI_AMOUNT:
320
+ return amount_1.Amount.fromParser(parser);
321
+ case serialized_type_1.SerializedTypeID.STI_ISSUE:
322
+ return issue_1.Issue.fromParser(parser);
323
+ case serialized_type_1.SerializedTypeID.STI_CURRENCY:
324
+ return currency_1.Currency.fromParser(parser);
325
+ case serialized_type_1.SerializedTypeID.STI_NUMBER:
326
+ return st_number_1.STNumber.fromParser(parser);
327
+ default:
328
+ throw new Error(`Data.getValue(): unsupported type ID: ${typeof innerType}`);
329
+ }
330
+ }
331
+ /**
332
+ * Convert to JSON representation
333
+ *
334
+ * @returns JSON object with 'type' and 'value' fields
335
+ */
336
+ toJSON() {
337
+ const data = this.getValue();
338
+ let jsonValue;
339
+ // Convert the data value to its JSON representation
340
+ if (data instanceof serialized_type_1.SerializedType) {
341
+ jsonValue = data.toJSON();
342
+ }
343
+ else if (data instanceof Uint8Array) {
344
+ jsonValue = (0, utils_2.bytesToHex)(data);
345
+ }
346
+ else if (typeof data === 'bigint') {
347
+ jsonValue = data.toString();
348
+ }
349
+ else {
350
+ jsonValue = data;
351
+ }
352
+ return {
353
+ type: this.getInnerTypeString(),
354
+ value: jsonValue,
355
+ };
356
+ }
357
+ /**
358
+ * Compare with another Data for equality
359
+ *
360
+ * @param other - Another Data to compare with
361
+ * @returns true if both have the same inner type and data
362
+ */
363
+ equals(other) {
364
+ if (!(other instanceof Data)) {
365
+ return false;
366
+ }
367
+ // Compare bytes directly
368
+ if (this.bytes.length !== other.bytes.length) {
369
+ return false;
370
+ }
371
+ for (let i = 0; i < this.bytes.length; i++) {
372
+ if (this.bytes[i] !== other.bytes[i]) {
373
+ return false;
374
+ }
375
+ }
376
+ return true;
377
+ }
378
+ getSType() {
379
+ return serialized_type_1.SerializedTypeID.STI_DATA;
380
+ }
381
+ }
382
+ exports.Data = Data;
383
+ Data.ZERO_DATA = new Data((0, utils_2.concat)([
384
+ new Uint8Array([0x00, 0x01]),
385
+ new Uint8Array([0x00, 0x00]), // Value: two zero bytes for UINT16
386
+ ]));
387
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/types/data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import { BinaryParser } from '../serdes/binary-parser';
2
+ import { JsonObject, SerializedType, SerializedTypeID } from './serialized-type';
3
+ /**
4
+ * Interface for DataType JSON representation
5
+ */
6
+ interface DataTypeJSON extends JsonObject {
7
+ type: string;
8
+ }
9
+ /**
10
+ * STDataType: Encodes XRPL's "DataType" type.
11
+ *
12
+ * This type wraps an inner SerializedTypeID to indicate what type of data
13
+ * a field contains. It's encoded as a 2-byte unsigned integer representing
14
+ * the inner type.
15
+ *
16
+ * Usage:
17
+ * DataType.from({ type: "AMOUNT" })
18
+ * DataType.from("UINT64")
19
+ * DataType.fromParser(parser)
20
+ */
21
+ declare class DataType extends SerializedType {
22
+ private innerType;
23
+ /**
24
+ * Default bytes for DataType (STI_NOTPRESENT)
25
+ */
26
+ static readonly defaultBytes: Uint8Array;
27
+ /**
28
+ * Construct a DataType from bytes
29
+ * @param bytes - 2-byte Uint8Array containing the inner type ID
30
+ * @param innerType - Optional explicit inner type (used when constructing from value)
31
+ * @throws Error if bytes is not a 2-byte Uint8Array
32
+ */
33
+ constructor(bytes?: Uint8Array, innerType?: SerializedTypeID);
34
+ /**
35
+ * Construct from various input types
36
+ *
37
+ * @param value - Can be:
38
+ * - DataType instance (returns as-is)
39
+ * - DataTypeJSON object with 'type' field
40
+ * - String type name (e.g., "AMOUNT", "UINT64")
41
+ * - SerializedTypeID enum value
42
+ * @returns DataType instance
43
+ * @throws Error if value type is not supported or type string is unknown
44
+ */
45
+ static from(value: unknown): DataType;
46
+ /**
47
+ * Construct from a type string
48
+ *
49
+ * @param typeStr - Type string like "AMOUNT", "UINT64", etc.
50
+ * @returns DataType instance
51
+ * @throws Error if type string is not recognized
52
+ */
53
+ static fromTypeString(typeStr: string): DataType;
54
+ /**
55
+ * Construct from a SerializedTypeID
56
+ *
57
+ * @param typeId - The SerializedTypeID enum value
58
+ * @returns DataType instance
59
+ */
60
+ static fromTypeId(typeId: SerializedTypeID): DataType;
61
+ /**
62
+ * Read a DataType from a BinaryParser stream (2 bytes)
63
+ *
64
+ * @param parser - BinaryParser positioned at the start of a DataType
65
+ * @returns DataType instance
66
+ */
67
+ static fromParser(parser: BinaryParser): DataType;
68
+ /**
69
+ * Get the inner SerializedTypeID
70
+ *
71
+ * @returns The inner type ID
72
+ */
73
+ getInnerType(): SerializedTypeID;
74
+ /**
75
+ * Set the inner SerializedTypeID
76
+ *
77
+ * @param typeId - The new inner type ID
78
+ */
79
+ setInnerType(typeId: SerializedTypeID): void;
80
+ /**
81
+ * Get the string representation of the inner type
82
+ *
83
+ * @returns String name of the type, or numeric string if unknown
84
+ */
85
+ getInnerTypeString(): string;
86
+ /**
87
+ * Convert to JSON representation
88
+ *
89
+ * @returns JSON object with 'type' field
90
+ */
91
+ toJSON(): DataTypeJSON;
92
+ getSType(): SerializedTypeID;
93
+ }
94
+ export { DataType };
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataType = void 0;
4
+ const serialized_type_1 = require("./serialized-type");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * STDataType: Encodes XRPL's "DataType" type.
8
+ *
9
+ * This type wraps an inner SerializedTypeID to indicate what type of data
10
+ * a field contains. It's encoded as a 2-byte unsigned integer representing
11
+ * the inner type.
12
+ *
13
+ * Usage:
14
+ * DataType.from({ type: "AMOUNT" })
15
+ * DataType.from("UINT64")
16
+ * DataType.fromParser(parser)
17
+ */
18
+ class DataType extends serialized_type_1.SerializedType {
19
+ /**
20
+ * Construct a DataType from bytes
21
+ * @param bytes - 2-byte Uint8Array containing the inner type ID
22
+ * @param innerType - Optional explicit inner type (used when constructing from value)
23
+ * @throws Error if bytes is not a 2-byte Uint8Array
24
+ */
25
+ constructor(bytes, innerType) {
26
+ const used = bytes !== null && bytes !== void 0 ? bytes : DataType.defaultBytes;
27
+ if (!(used instanceof Uint8Array) || used.length !== 2) {
28
+ throw new Error(`DataType must be constructed from a 2-byte Uint8Array, got ${used === null || used === void 0 ? void 0 : used.length} bytes`);
29
+ }
30
+ super(used);
31
+ // If innerType is explicitly provided, use it; otherwise read from bytes
32
+ if (innerType !== undefined) {
33
+ this.innerType = innerType;
34
+ }
35
+ else {
36
+ this.innerType = (0, utils_1.readUInt16BE)(used, 0);
37
+ }
38
+ }
39
+ /**
40
+ * Construct from various input types
41
+ *
42
+ * @param value - Can be:
43
+ * - DataType instance (returns as-is)
44
+ * - DataTypeJSON object with 'type' field
45
+ * - String type name (e.g., "AMOUNT", "UINT64")
46
+ * - SerializedTypeID enum value
47
+ * @returns DataType instance
48
+ * @throws Error if value type is not supported or type string is unknown
49
+ */
50
+ static from(value) {
51
+ if (value instanceof DataType) {
52
+ return value;
53
+ }
54
+ if (typeof value === 'object' && value !== null && 'type' in value) {
55
+ const json = value;
56
+ return DataType.fromTypeString(json.type);
57
+ }
58
+ if (typeof value === 'string') {
59
+ return DataType.fromTypeString(value);
60
+ }
61
+ if (typeof value === 'number') {
62
+ return DataType.fromTypeId(value);
63
+ }
64
+ throw new Error('DataType.from: value must be DataType, DataTypeJSON, string, or SerializedTypeID');
65
+ }
66
+ /**
67
+ * Construct from a type string
68
+ *
69
+ * @param typeStr - Type string like "AMOUNT", "UINT64", etc.
70
+ * @returns DataType instance
71
+ * @throws Error if type string is not recognized
72
+ */
73
+ static fromTypeString(typeStr) {
74
+ const typeId = serialized_type_1.TYPE_STRING_TO_ID[typeStr];
75
+ if (typeId === undefined) {
76
+ throw new Error(`DataType: unsupported type string: ${typeStr}`);
77
+ }
78
+ return DataType.fromTypeId(typeId);
79
+ }
80
+ /**
81
+ * Construct from a SerializedTypeID
82
+ *
83
+ * @param typeId - The SerializedTypeID enum value
84
+ * @returns DataType instance
85
+ */
86
+ static fromTypeId(typeId) {
87
+ const bytes = new Uint8Array(2);
88
+ (0, utils_1.writeUInt16BE)(bytes, typeId, 0);
89
+ return new DataType(bytes, typeId);
90
+ }
91
+ /**
92
+ * Read a DataType from a BinaryParser stream (2 bytes)
93
+ *
94
+ * @param parser - BinaryParser positioned at the start of a DataType
95
+ * @returns DataType instance
96
+ */
97
+ static fromParser(parser) {
98
+ const bytes = parser.read(2);
99
+ return new DataType(bytes);
100
+ }
101
+ /**
102
+ * Get the inner SerializedTypeID
103
+ *
104
+ * @returns The inner type ID
105
+ */
106
+ getInnerType() {
107
+ return this.innerType;
108
+ }
109
+ /**
110
+ * Set the inner SerializedTypeID
111
+ *
112
+ * @param typeId - The new inner type ID
113
+ */
114
+ setInnerType(typeId) {
115
+ this.innerType = typeId;
116
+ (0, utils_1.writeUInt16BE)(this.bytes, typeId, 0);
117
+ }
118
+ /**
119
+ * Get the string representation of the inner type
120
+ *
121
+ * @returns String name of the type, or numeric string if unknown
122
+ */
123
+ getInnerTypeString() {
124
+ return serialized_type_1.TYPE_ID_TO_STRING[this.innerType] || this.innerType.toString();
125
+ }
126
+ /**
127
+ * Convert to JSON representation
128
+ *
129
+ * @returns JSON object with 'type' field
130
+ */
131
+ toJSON() {
132
+ return {
133
+ type: this.getInnerTypeString(),
134
+ };
135
+ }
136
+ getSType() {
137
+ return serialized_type_1.SerializedTypeID.STI_DATATYPE;
138
+ }
139
+ }
140
+ exports.DataType = DataType;
141
+ /**
142
+ * Default bytes for DataType (STI_NOTPRESENT)
143
+ */
144
+ DataType.defaultBytes = new Uint8Array([0x00, 0x01]);
145
+ //# sourceMappingURL=dataType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataType.js","sourceRoot":"","sources":["../../../src/types/dataType.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Hash } from './hash';
2
+ import { SerializedTypeID } from './serialized-type';
3
+ /**
4
+ * Hash with a width of 128 bits
5
+ */
6
+ declare class Hash128 extends Hash {
7
+ static readonly width = 16;
8
+ static readonly ZERO_128: Hash128;
9
+ constructor(bytes: Uint8Array);
10
+ /**
11
+ * Get the hex representation of a hash-128 bytes, allowing unset
12
+ *
13
+ * @returns hex String of this.bytes
14
+ */
15
+ toHex(): string;
16
+ getSType(): SerializedTypeID;
17
+ }
18
+ export { Hash128 };