ripple-binary-codec 1.0.2 → 1.0.3-mpt-beta

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 (333) hide show
  1. package/README.md +3 -3
  2. package/dist/binary.d.ts +34 -20
  3. package/dist/binary.js +51 -34
  4. package/dist/binary.js.map +1 -1
  5. package/dist/coretypes.d.ts +9 -9
  6. package/dist/coretypes.js +33 -9
  7. package/dist/coretypes.js.map +1 -1
  8. package/dist/enums/bytes.d.ts +25 -0
  9. package/dist/enums/bytes.js +63 -0
  10. package/dist/enums/bytes.js.map +1 -0
  11. package/dist/enums/constants.d.ts +4 -0
  12. package/dist/enums/constants.js +8 -0
  13. package/dist/enums/constants.js.map +1 -0
  14. package/dist/enums/definitions.json +3066 -1760
  15. package/dist/enums/field.d.ts +28 -0
  16. package/dist/enums/field.js +58 -0
  17. package/dist/enums/field.js.map +1 -0
  18. package/dist/enums/index.d.ts +12 -46
  19. package/dist/enums/index.js +22 -110
  20. package/dist/enums/index.js.map +1 -1
  21. package/dist/enums/src/enums/definitions.json +3073 -0
  22. package/dist/enums/utils-renumber.js +20 -20
  23. package/dist/enums/utils-renumber.js.map +1 -1
  24. package/dist/enums/xrpl-definitions-base.d.ts +44 -0
  25. package/dist/enums/xrpl-definitions-base.js +59 -0
  26. package/dist/enums/xrpl-definitions-base.js.map +1 -0
  27. package/dist/enums/xrpl-definitions.d.ts +21 -0
  28. package/dist/enums/xrpl-definitions.js +29 -0
  29. package/dist/enums/xrpl-definitions.js.map +1 -0
  30. package/dist/hash-prefixes.d.ts +1 -2
  31. package/dist/hash-prefixes.js +7 -6
  32. package/dist/hash-prefixes.js.map +1 -1
  33. package/dist/hashes.d.ts +7 -8
  34. package/dist/hashes.js +23 -44
  35. package/dist/hashes.js.map +1 -1
  36. package/dist/index.d.ts +16 -17
  37. package/dist/index.js +65 -40
  38. package/dist/index.js.map +1 -1
  39. package/dist/ledger-hashes.d.ts +6 -3
  40. package/dist/ledger-hashes.js +40 -33
  41. package/dist/ledger-hashes.js.map +1 -1
  42. package/dist/quality.d.ts +3 -4
  43. package/dist/quality.js +20 -19
  44. package/dist/quality.js.map +1 -1
  45. package/dist/serdes/binary-parser.d.ts +8 -6
  46. package/dist/serdes/binary-parser.js +74 -64
  47. package/dist/serdes/binary-parser.js.map +1 -1
  48. package/dist/serdes/binary-serializer.d.ts +10 -11
  49. package/dist/serdes/binary-serializer.js +50 -48
  50. package/dist/serdes/binary-serializer.js.map +1 -1
  51. package/dist/shamap.d.ts +6 -7
  52. package/dist/shamap.js +74 -97
  53. package/dist/shamap.js.map +1 -1
  54. package/dist/src/binary.d.ts +90 -0
  55. package/dist/src/binary.js +128 -0
  56. package/dist/src/binary.js.map +1 -0
  57. package/dist/src/coretypes.d.ts +9 -0
  58. package/dist/src/coretypes.js +48 -0
  59. package/dist/src/coretypes.js.map +1 -0
  60. package/dist/src/enums/bytes.d.ts +25 -0
  61. package/dist/src/enums/bytes.js +63 -0
  62. package/dist/src/enums/bytes.js.map +1 -0
  63. package/dist/src/enums/constants.d.ts +4 -0
  64. package/dist/src/enums/constants.js +8 -0
  65. package/dist/src/enums/constants.js.map +1 -0
  66. package/dist/src/enums/definitions.json +3068 -0
  67. package/dist/src/enums/field.d.ts +28 -0
  68. package/dist/src/enums/field.js +58 -0
  69. package/dist/src/enums/field.js.map +1 -0
  70. package/dist/src/enums/index.d.ts +12 -0
  71. package/dist/src/enums/index.js +31 -0
  72. package/dist/src/enums/index.js.map +1 -0
  73. package/dist/src/enums/utils-renumber.d.ts +101 -0
  74. package/dist/src/enums/utils-renumber.js +127 -0
  75. package/dist/src/enums/utils-renumber.js.map +1 -0
  76. package/dist/src/enums/xrpl-definitions-base.d.ts +44 -0
  77. package/dist/src/enums/xrpl-definitions-base.js +59 -0
  78. package/dist/src/enums/xrpl-definitions-base.js.map +1 -0
  79. package/dist/src/enums/xrpl-definitions.d.ts +21 -0
  80. package/dist/src/enums/xrpl-definitions.js +29 -0
  81. package/dist/src/enums/xrpl-definitions.js.map +1 -0
  82. package/dist/src/hash-prefixes.d.ts +5 -0
  83. package/dist/src/hash-prefixes.js +41 -0
  84. package/dist/src/hash-prefixes.js.map +1 -0
  85. package/dist/src/hashes.d.ts +50 -0
  86. package/dist/src/hashes.js +76 -0
  87. package/dist/src/hashes.js.map +1 -0
  88. package/dist/src/index.d.ts +64 -0
  89. package/dist/src/index.js +123 -0
  90. package/dist/src/index.js.map +1 -0
  91. package/dist/src/ledger-hashes.d.ts +48 -0
  92. package/dist/src/ledger-hashes.js +141 -0
  93. package/dist/src/ledger-hashes.js.map +1 -0
  94. package/dist/src/quality.d.ts +21 -0
  95. package/dist/src/quality.js +42 -0
  96. package/dist/src/quality.js.map +1 -0
  97. package/dist/src/serdes/binary-parser.d.ts +100 -0
  98. package/dist/src/serdes/binary-parser.js +194 -0
  99. package/dist/src/serdes/binary-parser.js.map +1 -0
  100. package/dist/src/serdes/binary-serializer.d.ts +81 -0
  101. package/dist/src/serdes/binary-serializer.js +149 -0
  102. package/dist/src/serdes/binary-serializer.js.map +1 -0
  103. package/dist/src/shamap.d.ts +102 -0
  104. package/dist/src/shamap.js +172 -0
  105. package/dist/src/shamap.js.map +1 -0
  106. package/dist/src/types/account-id.d.ts +35 -0
  107. package/dist/src/types/account-id.js +69 -0
  108. package/dist/src/types/account-id.js.map +1 -0
  109. package/dist/src/types/amount.d.ts +91 -0
  110. package/dist/src/types/amount.js +289 -0
  111. package/dist/src/types/amount.js.map +1 -0
  112. package/dist/src/types/blob.d.ts +24 -0
  113. package/dist/src/types/blob.js +43 -0
  114. package/dist/src/types/blob.js.map +1 -0
  115. package/dist/src/types/currency.d.ts +28 -0
  116. package/dist/src/types/currency.js +127 -0
  117. package/dist/src/types/currency.js.map +1 -0
  118. package/dist/src/types/hash-128.d.ts +16 -0
  119. package/dist/src/types/hash-128.js +32 -0
  120. package/dist/src/types/hash-128.js.map +1 -0
  121. package/dist/src/types/hash-160.d.ts +10 -0
  122. package/dist/src/types/hash-160.js +19 -0
  123. package/dist/src/types/hash-160.js.map +1 -0
  124. package/dist/src/types/hash-192.d.ts +10 -0
  125. package/dist/src/types/hash-192.js +19 -0
  126. package/dist/src/types/hash-192.js.map +1 -0
  127. package/dist/src/types/hash-256.d.ts +10 -0
  128. package/dist/src/types/hash-256.js +16 -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 +73 -0
  132. package/dist/src/types/hash.js.map +1 -0
  133. package/dist/src/types/index.d.ts +19 -0
  134. package/dist/src/types/index.js +64 -0
  135. package/dist/src/types/index.js.map +1 -0
  136. package/dist/src/types/issue.d.ts +38 -0
  137. package/dist/src/types/issue.js +81 -0
  138. package/dist/src/types/issue.js.map +1 -0
  139. package/dist/src/types/path-set.d.ts +36 -0
  140. package/dist/src/types/path-set.js +233 -0
  141. package/dist/src/types/path-set.js.map +1 -0
  142. package/dist/src/types/serialized-type.d.ts +70 -0
  143. package/dist/src/types/serialized-type.js +105 -0
  144. package/dist/src/types/serialized-type.js.map +1 -0
  145. package/dist/src/types/st-array.d.ts +31 -0
  146. package/dist/src/types/st-array.js +86 -0
  147. package/dist/src/types/st-array.js.map +1 -0
  148. package/dist/src/types/st-object.d.ts +32 -0
  149. package/dist/src/types/st-object.js +155 -0
  150. package/dist/src/types/st-object.js.map +1 -0
  151. package/dist/src/types/uint-16.d.ts +24 -0
  152. package/dist/src/types/uint-16.js +45 -0
  153. package/dist/src/types/uint-16.js.map +1 -0
  154. package/dist/src/types/uint-32.d.ts +24 -0
  155. package/dist/src/types/uint-32.js +50 -0
  156. package/dist/src/types/uint-32.js.map +1 -0
  157. package/dist/src/types/uint-64.d.ts +37 -0
  158. package/dist/src/types/uint-64.js +86 -0
  159. package/dist/src/types/uint-64.js.map +1 -0
  160. package/dist/src/types/uint-8.d.ts +24 -0
  161. package/dist/src/types/uint-8.js +46 -0
  162. package/dist/src/types/uint-8.js.map +1 -0
  163. package/dist/src/types/uint.d.ts +29 -0
  164. package/dist/src/types/uint.js +47 -0
  165. package/dist/src/types/uint.js.map +1 -0
  166. package/dist/src/types/vector-256.d.ts +30 -0
  167. package/dist/src/types/vector-256.js +73 -0
  168. package/dist/src/types/vector-256.js.map +1 -0
  169. package/dist/src/types/xchain-bridge.d.ts +44 -0
  170. package/dist/src/types/xchain-bridge.js +102 -0
  171. package/dist/src/types/xchain-bridge.js.map +1 -0
  172. package/dist/src/utils.d.ts +47 -0
  173. package/dist/src/utils.js +137 -0
  174. package/dist/src/utils.js.map +1 -0
  175. package/dist/tsconfig.tsbuildinfo +1 -0
  176. package/dist/types/account-id.d.ts +2 -3
  177. package/dist/types/account-id.js +29 -37
  178. package/dist/types/account-id.js.map +1 -1
  179. package/dist/types/amount.d.ts +33 -10
  180. package/dist/types/amount.js +181 -101
  181. package/dist/types/amount.js.map +1 -1
  182. package/dist/types/blob.d.ts +3 -4
  183. package/dist/types/blob.js +16 -27
  184. package/dist/types/blob.js.map +1 -1
  185. package/dist/types/currency.d.ts +5 -13
  186. package/dist/types/currency.js +53 -66
  187. package/dist/types/currency.js.map +1 -1
  188. package/dist/types/hash-128.d.ts +8 -3
  189. package/dist/types/hash-128.js +23 -22
  190. package/dist/types/hash-128.js.map +1 -1
  191. package/dist/types/hash-160.d.ts +2 -3
  192. package/dist/types/hash-160.js +7 -24
  193. package/dist/types/hash-160.js.map +1 -1
  194. package/dist/types/hash-192.d.ts +10 -0
  195. package/dist/types/hash-192.js +19 -0
  196. package/dist/types/hash-192.js.map +1 -0
  197. package/dist/types/hash-256.d.ts +2 -3
  198. package/dist/types/hash-256.js +7 -22
  199. package/dist/types/hash-256.js.map +1 -1
  200. package/dist/types/hash.d.ts +4 -5
  201. package/dist/types/hash.js +25 -39
  202. package/dist/types/hash.js.map +1 -1
  203. package/dist/types/index.d.ts +19 -33
  204. package/dist/types/index.js +44 -24
  205. package/dist/types/index.js.map +1 -1
  206. package/dist/types/issue.d.ts +38 -0
  207. package/dist/types/issue.js +81 -0
  208. package/dist/types/issue.js.map +1 -0
  209. package/dist/types/path-set.d.ts +2 -2
  210. package/dist/types/path-set.js +73 -94
  211. package/dist/types/path-set.js.map +1 -1
  212. package/dist/types/serialized-type.d.ts +26 -18
  213. package/dist/types/serialized-type.js +50 -60
  214. package/dist/types/serialized-type.js.map +1 -1
  215. package/dist/types/st-array.d.ts +7 -4
  216. package/dist/types/st-array.js +36 -47
  217. package/dist/types/st-array.js.map +1 -1
  218. package/dist/types/st-object.d.ts +8 -5
  219. package/dist/types/st-object.js +73 -74
  220. package/dist/types/st-object.js.map +1 -1
  221. package/dist/types/uint-16.d.ts +3 -4
  222. package/dist/types/uint-16.js +20 -33
  223. package/dist/types/uint-16.js.map +1 -1
  224. package/dist/types/uint-32.d.ts +3 -4
  225. package/dist/types/uint-32.js +23 -36
  226. package/dist/types/uint-32.js.map +1 -1
  227. package/dist/types/uint-64.d.ts +5 -6
  228. package/dist/types/uint-64.js +44 -48
  229. package/dist/types/uint-64.js.map +1 -1
  230. package/dist/types/uint-8.d.ts +3 -4
  231. package/dist/types/uint-8.js +21 -33
  232. package/dist/types/uint-8.js.map +1 -1
  233. package/dist/types/uint.d.ts +5 -5
  234. package/dist/types/uint.js +17 -27
  235. package/dist/types/uint.js.map +1 -1
  236. package/dist/types/vector-256.d.ts +3 -4
  237. package/dist/types/vector-256.js +28 -45
  238. package/dist/types/vector-256.js.map +1 -1
  239. package/dist/types/xchain-bridge.d.ts +44 -0
  240. package/dist/types/xchain-bridge.js +102 -0
  241. package/dist/types/xchain-bridge.js.map +1 -0
  242. package/dist/utils.d.ts +47 -0
  243. package/dist/utils.js +137 -0
  244. package/dist/utils.js.map +1 -0
  245. package/package.json +23 -33
  246. package/src/README.md +5 -0
  247. package/src/binary.ts +194 -0
  248. package/src/coretypes.ts +31 -0
  249. package/src/enums/README.md +144 -0
  250. package/src/enums/bytes.ts +74 -0
  251. package/src/enums/constants.ts +4 -0
  252. package/src/enums/definitions.json +3073 -0
  253. package/src/enums/field.ts +84 -0
  254. package/src/enums/index.ts +34 -0
  255. package/src/enums/utils-renumber.ts +134 -0
  256. package/src/enums/xrpl-definitions-base.ts +111 -0
  257. package/src/enums/xrpl-definitions.ts +32 -0
  258. package/src/hash-prefixes.ts +40 -0
  259. package/src/hashes.ts +75 -0
  260. package/src/index.ts +153 -0
  261. package/src/ledger-hashes.ts +191 -0
  262. package/src/quality.ts +38 -0
  263. package/src/serdes/binary-parser.ts +228 -0
  264. package/src/serdes/binary-serializer.ts +166 -0
  265. package/src/shamap.ts +186 -0
  266. package/src/types/account-id.ts +86 -0
  267. package/src/types/amount.ts +362 -0
  268. package/src/types/blob.ts +46 -0
  269. package/src/types/currency.ts +140 -0
  270. package/src/types/hash-128.ts +33 -0
  271. package/src/types/hash-160.ts +19 -0
  272. package/src/types/hash-192.ts +19 -0
  273. package/src/types/hash-256.ts +15 -0
  274. package/src/types/hash.ts +83 -0
  275. package/src/types/index.ts +66 -0
  276. package/src/types/issue.ts +96 -0
  277. package/src/types/path-set.ts +290 -0
  278. package/src/types/serialized-type.ts +122 -0
  279. package/src/types/st-array.ts +113 -0
  280. package/src/types/st-object.ts +192 -0
  281. package/src/types/uint-16.ts +53 -0
  282. package/src/types/uint-32.ts +59 -0
  283. package/src/types/uint-64.ts +104 -0
  284. package/src/types/uint-8.ts +52 -0
  285. package/src/types/uint.ts +60 -0
  286. package/src/types/vector-256.ts +79 -0
  287. package/src/types/xchain-bridge.ts +128 -0
  288. package/src/utils.ts +152 -0
  289. package/HISTORY.md +0 -74
  290. package/test/amount.test.js +0 -43
  291. package/test/binary-json.test.js +0 -47
  292. package/test/binary-parser.test.js +0 -397
  293. package/test/binary-serializer.test.js +0 -248
  294. package/test/fixtures/account-tx-transactions.db +0 -0
  295. package/test/fixtures/codec-fixtures.json +0 -4466
  296. package/test/fixtures/data-driven-tests.json +0 -3721
  297. package/test/fixtures/delivermin-tx-binary.json +0 -1
  298. package/test/fixtures/delivermin-tx.json +0 -98
  299. package/test/fixtures/deposit-preauth-tx-binary.json +0 -1
  300. package/test/fixtures/deposit-preauth-tx-meta-binary.json +0 -1
  301. package/test/fixtures/deposit-preauth-tx.json +0 -58
  302. package/test/fixtures/escrow-cancel-binary.json +0 -1
  303. package/test/fixtures/escrow-cancel-tx.json +0 -6
  304. package/test/fixtures/escrow-create-binary.json +0 -1
  305. package/test/fixtures/escrow-create-tx.json +0 -10
  306. package/test/fixtures/escrow-finish-binary.json +0 -1
  307. package/test/fixtures/escrow-finish-meta-binary.json +0 -1
  308. package/test/fixtures/escrow-finish-tx.json +0 -95
  309. package/test/fixtures/ledger-full-38129.json +0 -1
  310. package/test/fixtures/ledger-full-40000.json +0 -1
  311. package/test/fixtures/negative-unl.json +0 -12
  312. package/test/fixtures/payment-channel-claim-binary.json +0 -1
  313. package/test/fixtures/payment-channel-claim-tx.json +0 -8
  314. package/test/fixtures/payment-channel-create-binary.json +0 -1
  315. package/test/fixtures/payment-channel-create-tx.json +0 -11
  316. package/test/fixtures/payment-channel-fund-binary.json +0 -1
  317. package/test/fixtures/payment-channel-fund-tx.json +0 -7
  318. package/test/fixtures/signerlistset-tx-binary.json +0 -1
  319. package/test/fixtures/signerlistset-tx-meta-binary.json +0 -1
  320. package/test/fixtures/signerlistset-tx.json +0 -94
  321. package/test/fixtures/x-codec-fixtures.json +0 -188
  322. package/test/hash.test.js +0 -82
  323. package/test/ledger.test.js +0 -29
  324. package/test/lower-case-hex.test.js +0 -45
  325. package/test/pseudo-transaction.test.js +0 -38
  326. package/test/quality.test.js +0 -15
  327. package/test/shamap.test.js +0 -88
  328. package/test/signing-data-encoding.test.js +0 -129
  329. package/test/tx-encode-decode.test.js +0 -80
  330. package/test/types.test.js +0 -34
  331. package/test/uint.test.js +0 -40
  332. package/test/utils.js +0 -29
  333. package/test/x-address.test.js +0 -147
@@ -1,97 +1,86 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
2
  Object.defineProperty(exports, "__esModule", { value: true });
16
3
  exports.STArray = void 0;
17
- var serialized_type_1 = require("./serialized-type");
18
- var st_object_1 = require("./st-object");
19
- var binary_parser_1 = require("../serdes/binary-parser");
20
- var ARRAY_END_MARKER = Buffer.from([0xf1]);
21
- var ARRAY_END_MARKER_NAME = "ArrayEndMarker";
22
- var OBJECT_END_MARKER = Buffer.from([0xe1]);
4
+ const enums_1 = require("../enums");
5
+ const serialized_type_1 = require("./serialized-type");
6
+ const st_object_1 = require("./st-object");
7
+ const binary_parser_1 = require("../serdes/binary-parser");
8
+ const utils_1 = require("@xrplf/isomorphic/utils");
9
+ const ARRAY_END_MARKER = Uint8Array.from([0xf1]);
10
+ const ARRAY_END_MARKER_NAME = 'ArrayEndMarker';
11
+ const OBJECT_END_MARKER = Uint8Array.from([0xe1]);
23
12
  /**
24
13
  * TypeGuard for Array<JsonObject>
25
14
  */
26
15
  function isObjects(args) {
27
- return (Array.isArray(args) && (args.length === 0 || typeof args[0] === "object"));
16
+ return (Array.isArray(args) &&
17
+ args.every((arg) => typeof arg === 'object' &&
18
+ Object.keys(arg).length === 1 &&
19
+ typeof Object.values(arg)[0] === 'object'));
28
20
  }
29
21
  /**
30
22
  * Class for serializing and deserializing Arrays of Objects
31
23
  */
32
- var STArray = /** @class */ (function (_super) {
33
- __extends(STArray, _super);
34
- function STArray() {
35
- return _super !== null && _super.apply(this, arguments) || this;
36
- }
24
+ class STArray extends serialized_type_1.SerializedType {
37
25
  /**
38
26
  * Construct an STArray from a BinaryParser
39
27
  *
40
28
  * @param parser BinaryParser to parse an STArray from
41
29
  * @returns An STArray Object
42
30
  */
43
- STArray.fromParser = function (parser) {
44
- var bytes = [];
31
+ static fromParser(parser) {
32
+ const bytes = [];
45
33
  while (!parser.end()) {
46
- var field = parser.readField();
34
+ const field = parser.readField();
47
35
  if (field.name === ARRAY_END_MARKER_NAME) {
48
36
  break;
49
37
  }
50
38
  bytes.push(field.header, parser.readFieldValue(field).toBytes(), OBJECT_END_MARKER);
51
39
  }
52
40
  bytes.push(ARRAY_END_MARKER);
53
- return new STArray(Buffer.concat(bytes));
54
- };
41
+ return new STArray((0, utils_1.concat)(bytes));
42
+ }
55
43
  /**
56
44
  * Construct an STArray from an Array of JSON Objects
57
45
  *
58
46
  * @param value STArray or Array of Objects to parse into an STArray
47
+ * @param definitions optional, types and values to use to encode/decode a transaction
59
48
  * @returns An STArray object
60
49
  */
61
- STArray.from = function (value) {
50
+ static from(value, definitions = enums_1.DEFAULT_DEFINITIONS) {
62
51
  if (value instanceof STArray) {
63
52
  return value;
64
53
  }
65
54
  if (isObjects(value)) {
66
- var bytes_1 = [];
67
- value.forEach(function (obj) {
68
- bytes_1.push(st_object_1.STObject.from(obj).toBytes());
55
+ const bytes = [];
56
+ value.forEach((obj) => {
57
+ bytes.push(st_object_1.STObject.from(obj, undefined, definitions).toBytes());
69
58
  });
70
- bytes_1.push(ARRAY_END_MARKER);
71
- return new STArray(Buffer.concat(bytes_1));
59
+ bytes.push(ARRAY_END_MARKER);
60
+ return new STArray((0, utils_1.concat)(bytes));
72
61
  }
73
- throw new Error("Cannot construct Currency from value given");
74
- };
62
+ throw new Error('Cannot construct STArray from value given');
63
+ }
75
64
  /**
76
65
  * Return the JSON representation of this.bytes
77
66
  *
67
+ * @param definitions optional, types and values to use to encode/decode a transaction
78
68
  * @returns An Array of JSON objects
79
69
  */
80
- STArray.prototype.toJSON = function () {
81
- var result = [];
82
- var arrayParser = new binary_parser_1.BinaryParser(this.toString());
70
+ toJSON(definitions = enums_1.DEFAULT_DEFINITIONS) {
71
+ const result = [];
72
+ const arrayParser = new binary_parser_1.BinaryParser(this.toString(), definitions);
83
73
  while (!arrayParser.end()) {
84
- var field = arrayParser.readField();
74
+ const field = arrayParser.readField();
85
75
  if (field.name === ARRAY_END_MARKER_NAME) {
86
76
  break;
87
77
  }
88
- var outer = {};
89
- outer[field.name] = st_object_1.STObject.fromParser(arrayParser).toJSON();
78
+ const outer = {};
79
+ outer[field.name] = st_object_1.STObject.fromParser(arrayParser).toJSON(definitions);
90
80
  result.push(outer);
91
81
  }
92
82
  return result;
93
- };
94
- return STArray;
95
- }(serialized_type_1.SerializedType));
83
+ }
84
+ }
96
85
  exports.STArray = STArray;
97
86
  //# sourceMappingURL=st-array.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"st-array.js","sourceRoot":"","sources":["../../src/types/st-array.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAA+D;AAC/D,yCAAuC;AACvC,yDAAuD;AAEvD,IAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7C,IAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAE/C,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAE9C;;GAEG;AACH,SAAS,SAAS,CAAC,IAAI;IACrB,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH;IAAsB,2BAAc;IAApC;;IA0EA,CAAC;IAzEC;;;;;OAKG;IACI,kBAAU,GAAjB,UAAkB,MAAoB;QACpC,IAAM,KAAK,GAAkB,EAAE,CAAC;QAEhC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;YACpB,IAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE;gBACxC,MAAM;aACP;YAED,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,MAAM,EACZ,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EACtC,iBAAiB,CAClB,CAAC;SACH;QAED,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,YAAI,GAAX,UAAmD,KAAQ;QACzD,IAAI,KAAK,YAAY,OAAO,EAAE;YAC5B,OAAO,KAAK,CAAC;SACd;QAED,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;YACpB,IAAM,OAAK,GAAkB,EAAE,CAAC;YAChC,KAAK,CAAC,OAAO,CAAC,UAAC,GAAG;gBAChB,OAAK,CAAC,IAAI,CAAC,oBAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,OAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAK,CAAC,CAAC,CAAC;SAC1C;QAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACH,wBAAM,GAAN;QACE,IAAM,MAAM,GAAsB,EAAE,CAAC;QAErC,IAAM,WAAW,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtD,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE;YACzB,IAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE;gBACxC,MAAM;aACP;YAED,IAAM,KAAK,GAAG,EAAE,CAAC;YACjB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,oBAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IACH,cAAC;AAAD,CAAC,AA1ED,CAAsB,gCAAc,GA0EnC;AAEQ,0BAAO"}
1
+ {"version":3,"file":"st-array.js","sourceRoot":"","sources":["../../src/types/st-array.ts"],"names":[],"mappings":";;;AAAA,oCAAmE;AACnE,uDAA8D;AAC9D,2CAAsC;AACtC,2DAAsD;AACtD,mDAAgD;AAEhD,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAChD,MAAM,qBAAqB,GAAG,gBAAgB,CAAA;AAE9C,MAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAEjD;;GAEG;AACH,SAAS,SAAS,CAAC,IAAI;IACrB,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,CACR,CAAC,GAAG,EAAE,EAAE,CACN,OAAO,GAAG,KAAK,QAAQ;YACvB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;YAC7B,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAC5C,CACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,OAAQ,SAAQ,gCAAc;IAClC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,MAAoB;QACpC,MAAM,KAAK,GAAsB,EAAE,CAAA;QAEnC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;YAChC,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE;gBACxC,MAAK;aACN;YAED,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,MAAM,EACZ,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EACtC,iBAAiB,CAClB,CAAA;SACF;QAED,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC5B,OAAO,IAAI,OAAO,CAAC,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAA;IACnC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CACT,KAAQ,EACR,cAAmC,2BAAmB;QAEtD,IAAI,KAAK,YAAY,OAAO,EAAE;YAC5B,OAAO,KAAK,CAAA;SACb;QAED,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,KAAK,GAAsB,EAAE,CAAA;YACnC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpB,KAAK,CAAC,IAAI,CAAC,oBAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;YAClE,CAAC,CAAC,CAAA;YAEF,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC5B,OAAO,IAAI,OAAO,CAAC,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAA;SAClC;QAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CACJ,cAAmC,2BAAmB;QAEtD,MAAM,MAAM,GAAsB,EAAE,CAAA;QAEpC,MAAM,WAAW,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAA;QAElE,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE;YACzB,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,CAAA;YACrC,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE;gBACxC,MAAK;aACN;YAED,MAAM,KAAK,GAAG,EAAE,CAAA;YAChB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,oBAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YACxE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SACnB;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAEQ,0BAAO"}
@@ -1,5 +1,6 @@
1
- import { SerializedType, JsonObject } from "./serialized-type";
2
- import { BinaryParser } from "../serdes/binary-parser";
1
+ import { XrplDefinitionsBase } from '../enums';
2
+ import { SerializedType, JsonObject } from './serialized-type';
3
+ import { BinaryParser } from '../serdes/binary-parser';
3
4
  /**
4
5
  * Class for Serializing/Deserializing objects
5
6
  */
@@ -16,14 +17,16 @@ declare class STObject extends SerializedType {
16
17
  *
17
18
  * @param value An object to include
18
19
  * @param filter optional, denote which field to include in serialized object
20
+ * @param definitions optional, types and values to use to encode/decode a transaction
19
21
  * @returns a STObject object
20
22
  */
21
- static from<T extends STObject | JsonObject>(value: T, filter?: (...any: any[]) => boolean): STObject;
23
+ static from<T extends STObject | JsonObject>(value: T, filter?: (...any: any[]) => boolean, definitions?: XrplDefinitionsBase): STObject;
22
24
  /**
23
25
  * Get the JSON interpretation of this.bytes
24
- *
26
+ * @param definitions rippled definitions used to parse the values of transaction types and such.
27
+ * Can be customized for sidechains and amendments.
25
28
  * @returns a JSON object
26
29
  */
27
- toJSON(): JsonObject;
30
+ toJSON(definitions?: XrplDefinitionsBase): JsonObject;
28
31
  }
29
32
  export { STObject };
@@ -1,31 +1,19 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
2
  Object.defineProperty(exports, "__esModule", { value: true });
16
3
  exports.STObject = void 0;
17
- var enums_1 = require("../enums");
18
- var serialized_type_1 = require("./serialized-type");
19
- var ripple_address_codec_1 = require("ripple-address-codec");
20
- var binary_parser_1 = require("../serdes/binary-parser");
21
- var binary_serializer_1 = require("../serdes/binary-serializer");
22
- var OBJECT_END_MARKER_BYTE = Buffer.from([0xe1]);
23
- var OBJECT_END_MARKER = "ObjectEndMarker";
24
- var ST_OBJECT = "STObject";
25
- var DESTINATION = "Destination";
26
- var ACCOUNT = "Account";
27
- var SOURCE_TAG = "SourceTag";
28
- var DEST_TAG = "DestinationTag";
4
+ const enums_1 = require("../enums");
5
+ const serialized_type_1 = require("./serialized-type");
6
+ const ripple_address_codec_1 = require("ripple-address-codec");
7
+ const binary_parser_1 = require("../serdes/binary-parser");
8
+ const binary_serializer_1 = require("../serdes/binary-serializer");
9
+ const st_array_1 = require("./st-array");
10
+ const OBJECT_END_MARKER_BYTE = Uint8Array.from([0xe1]);
11
+ const OBJECT_END_MARKER = 'ObjectEndMarker';
12
+ const ST_OBJECT = 'STObject';
13
+ const DESTINATION = 'Destination';
14
+ const ACCOUNT = 'Account';
15
+ const SOURCE_TAG = 'SourceTag';
16
+ const DEST_TAG = 'DestinationTag';
29
17
  /**
30
18
  * Break down an X-Address into an account and a tag
31
19
  *
@@ -33,17 +21,17 @@ var DEST_TAG = "DestinationTag";
33
21
  * @param xAddress X-Address corresponding to the field
34
22
  */
35
23
  function handleXAddress(field, xAddress) {
36
- var _a, _b;
37
- var decoded = ripple_address_codec_1.xAddressToClassicAddress(xAddress);
38
- var tagName;
24
+ const decoded = (0, ripple_address_codec_1.xAddressToClassicAddress)(xAddress);
25
+ let tagName;
39
26
  if (field === DESTINATION)
40
27
  tagName = DEST_TAG;
41
28
  else if (field === ACCOUNT)
42
29
  tagName = SOURCE_TAG;
43
30
  else if (decoded.tag !== false)
44
- throw new Error(field + " cannot have an associated tag");
31
+ throw new Error(`${field} cannot have an associated tag`);
45
32
  return decoded.tag !== false
46
- ? (_a = {}, _a[field] = decoded.classicAddress, _a[tagName] = decoded.tag, _a) : (_b = {}, _b[field] = decoded.classicAddress, _b);
33
+ ? { [field]: decoded.classicAddress, [tagName]: decoded.tag }
34
+ : { [field]: decoded.classicAddress };
47
35
  }
48
36
  /**
49
37
  * Validate that two objects don't both have the same tag fields
@@ -54,103 +42,114 @@ function handleXAddress(field, xAddress) {
54
42
  */
55
43
  function checkForDuplicateTags(obj1, obj2) {
56
44
  if (!(obj1[SOURCE_TAG] === undefined || obj2[SOURCE_TAG] === undefined))
57
- throw new Error("Cannot have Account X-Address and SourceTag");
45
+ throw new Error('Cannot have Account X-Address and SourceTag');
58
46
  if (!(obj1[DEST_TAG] === undefined || obj2[DEST_TAG] === undefined))
59
- throw new Error("Cannot have Destination X-Address and DestinationTag");
47
+ throw new Error('Cannot have Destination X-Address and DestinationTag');
60
48
  }
61
49
  /**
62
50
  * Class for Serializing/Deserializing objects
63
51
  */
64
- var STObject = /** @class */ (function (_super) {
65
- __extends(STObject, _super);
66
- function STObject() {
67
- return _super !== null && _super.apply(this, arguments) || this;
68
- }
52
+ class STObject extends serialized_type_1.SerializedType {
69
53
  /**
70
54
  * Construct a STObject from a BinaryParser
71
55
  *
72
56
  * @param parser BinaryParser to read STObject from
73
57
  * @returns A STObject object
74
58
  */
75
- STObject.fromParser = function (parser) {
76
- var list = new binary_serializer_1.BytesList();
77
- var bytes = new binary_serializer_1.BinarySerializer(list);
59
+ static fromParser(parser) {
60
+ const list = new binary_serializer_1.BytesList();
61
+ const bytes = new binary_serializer_1.BinarySerializer(list);
78
62
  while (!parser.end()) {
79
- var field = parser.readField();
63
+ const field = parser.readField();
80
64
  if (field.name === OBJECT_END_MARKER) {
81
65
  break;
82
66
  }
83
- var associatedValue = parser.readFieldValue(field);
67
+ const associatedValue = parser.readFieldValue(field);
84
68
  bytes.writeFieldAndValue(field, associatedValue);
85
69
  if (field.type.name === ST_OBJECT) {
86
70
  bytes.put(OBJECT_END_MARKER_BYTE);
87
71
  }
88
72
  }
89
73
  return new STObject(list.toBytes());
90
- };
74
+ }
91
75
  /**
92
76
  * Construct a STObject from a JSON object
93
77
  *
94
78
  * @param value An object to include
95
79
  * @param filter optional, denote which field to include in serialized object
80
+ * @param definitions optional, types and values to use to encode/decode a transaction
96
81
  * @returns a STObject object
97
82
  */
98
- STObject.from = function (value, filter) {
83
+ static from(value, filter, definitions = enums_1.DEFAULT_DEFINITIONS) {
99
84
  if (value instanceof STObject) {
100
85
  return value;
101
86
  }
102
- var list = new binary_serializer_1.BytesList();
103
- var bytes = new binary_serializer_1.BinarySerializer(list);
104
- var xAddressDecoded = Object.entries(value).reduce(function (acc, _a) {
105
- var _b;
106
- var key = _a[0], val = _a[1];
107
- var handled = undefined;
108
- if (ripple_address_codec_1.isValidXAddress(val)) {
109
- handled = handleXAddress(key, val);
87
+ const list = new binary_serializer_1.BytesList();
88
+ const bytes = new binary_serializer_1.BinarySerializer(list);
89
+ let isUnlModify = false;
90
+ const xAddressDecoded = Object.entries(value).reduce((acc, [key, val]) => {
91
+ let handled = undefined;
92
+ if (val && (0, ripple_address_codec_1.isValidXAddress)(val.toString())) {
93
+ handled = handleXAddress(key, val.toString());
110
94
  checkForDuplicateTags(handled, value);
111
95
  }
112
- return Object.assign(acc, handled !== null && handled !== void 0 ? handled : (_b = {}, _b[key] = val, _b));
96
+ return Object.assign(acc, handled !== null && handled !== void 0 ? handled : { [key]: val });
113
97
  }, {});
114
- var sorted = Object.keys(xAddressDecoded)
115
- .map(function (f) { return enums_1.Field[f]; })
116
- .filter(function (f) {
117
- return f !== undefined &&
118
- xAddressDecoded[f.name] !== undefined &&
119
- f.isSerialized;
120
- })
121
- .sort(function (a, b) {
98
+ let sorted = Object.keys(xAddressDecoded)
99
+ .map((f) => definitions.field[f])
100
+ .filter((f) => f !== undefined &&
101
+ xAddressDecoded[f.name] !== undefined &&
102
+ f.isSerialized)
103
+ .sort((a, b) => {
122
104
  return a.ordinal - b.ordinal;
123
105
  });
124
106
  if (filter !== undefined) {
125
107
  sorted = sorted.filter(filter);
126
108
  }
127
- sorted.forEach(function (field) {
128
- var associatedValue = field.associatedType.from(xAddressDecoded[field.name]);
129
- bytes.writeFieldAndValue(field, associatedValue);
109
+ sorted.forEach((field) => {
110
+ const associatedValue = field.type.name === ST_OBJECT
111
+ ? this.from(xAddressDecoded[field.name], undefined, definitions)
112
+ : field.type.name === 'STArray'
113
+ ? st_array_1.STArray.from(xAddressDecoded[field.name], definitions)
114
+ : field.associatedType.from(xAddressDecoded[field.name]);
115
+ if (associatedValue == undefined) {
116
+ throw new TypeError(`Unable to interpret "${field.name}: ${xAddressDecoded[field.name]}".`);
117
+ }
118
+ if (associatedValue.name === 'UNLModify') {
119
+ // triggered when the TransactionType field has a value of 'UNLModify'
120
+ isUnlModify = true;
121
+ }
122
+ // true when in the UNLModify pseudotransaction (after the transaction type has been processed) and working with the
123
+ // Account field
124
+ // The Account field must not be a part of the UNLModify pseudotransaction encoding, due to a bug in rippled
125
+ const isUnlModifyWorkaround = field.name == 'Account' && isUnlModify;
126
+ bytes.writeFieldAndValue(field, associatedValue, isUnlModifyWorkaround);
130
127
  if (field.type.name === ST_OBJECT) {
131
128
  bytes.put(OBJECT_END_MARKER_BYTE);
132
129
  }
133
130
  });
134
131
  return new STObject(list.toBytes());
135
- };
132
+ }
136
133
  /**
137
134
  * Get the JSON interpretation of this.bytes
138
- *
135
+ * @param definitions rippled definitions used to parse the values of transaction types and such.
136
+ * Can be customized for sidechains and amendments.
139
137
  * @returns a JSON object
140
138
  */
141
- STObject.prototype.toJSON = function () {
142
- var objectParser = new binary_parser_1.BinaryParser(this.toString());
143
- var accumulator = {};
139
+ toJSON(definitions) {
140
+ const objectParser = new binary_parser_1.BinaryParser(this.toString(), definitions);
141
+ const accumulator = {};
144
142
  while (!objectParser.end()) {
145
- var field = objectParser.readField();
143
+ const field = objectParser.readField();
146
144
  if (field.name === OBJECT_END_MARKER) {
147
145
  break;
148
146
  }
149
- accumulator[field.name] = objectParser.readFieldValue(field).toJSON();
147
+ accumulator[field.name] = objectParser
148
+ .readFieldValue(field)
149
+ .toJSON(definitions);
150
150
  }
151
151
  return accumulator;
152
- };
153
- return STObject;
154
- }(serialized_type_1.SerializedType));
152
+ }
153
+ }
155
154
  exports.STObject = STObject;
156
155
  //# sourceMappingURL=st-object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"st-object.js","sourceRoot":"","sources":["../../src/types/st-object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"st-object.js","sourceRoot":"","sources":["../../src/types/st-object.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,12 @@
1
- /// <reference types="node" />
2
- import { UInt } from "./uint";
3
- import { BinaryParser } from "../serdes/binary-parser";
1
+ import { UInt } from './uint';
2
+ import { BinaryParser } from '../serdes/binary-parser';
4
3
  /**
5
4
  * Derived UInt class for serializing/deserializing 16 bit UInt
6
5
  */
7
6
  declare class UInt16 extends UInt {
8
7
  protected static readonly width: number;
9
8
  static readonly defaultUInt16: UInt16;
10
- constructor(bytes: Buffer);
9
+ constructor(bytes: Uint8Array);
11
10
  static fromParser(parser: BinaryParser): UInt;
12
11
  /**
13
12
  * Construct a UInt16 object from a number
@@ -1,58 +1,45 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
2
  Object.defineProperty(exports, "__esModule", { value: true });
16
3
  exports.UInt16 = void 0;
17
- var uint_1 = require("./uint");
4
+ const uint_1 = require("./uint");
5
+ const utils_1 = require("../utils");
18
6
  /**
19
7
  * Derived UInt class for serializing/deserializing 16 bit UInt
20
8
  */
21
- var UInt16 = /** @class */ (function (_super) {
22
- __extends(UInt16, _super);
23
- function UInt16(bytes) {
24
- return _super.call(this, bytes !== null && bytes !== void 0 ? bytes : UInt16.defaultUInt16.bytes) || this;
9
+ class UInt16 extends uint_1.UInt {
10
+ constructor(bytes) {
11
+ super(bytes !== null && bytes !== void 0 ? bytes : UInt16.defaultUInt16.bytes);
25
12
  }
26
- UInt16.fromParser = function (parser) {
13
+ static fromParser(parser) {
27
14
  return new UInt16(parser.read(UInt16.width));
28
- };
15
+ }
29
16
  /**
30
17
  * Construct a UInt16 object from a number
31
18
  *
32
19
  * @param val UInt16 object or number
33
20
  */
34
- UInt16.from = function (val) {
21
+ static from(val) {
35
22
  if (val instanceof UInt16) {
36
23
  return val;
37
24
  }
38
- if (typeof val === "number") {
39
- var buf = Buffer.alloc(UInt16.width);
40
- buf.writeUInt16BE(val);
25
+ if (typeof val === 'number') {
26
+ UInt16.checkUintRange(val, 0, 0xffff);
27
+ const buf = new Uint8Array(UInt16.width);
28
+ (0, utils_1.writeUInt16BE)(buf, val, 0);
41
29
  return new UInt16(buf);
42
30
  }
43
- throw new Error("Can not construct UInt16 with given value");
44
- };
31
+ throw new Error('Can not construct UInt16 with given value');
32
+ }
45
33
  /**
46
34
  * get the value of a UInt16 object
47
35
  *
48
36
  * @returns the number represented by this.bytes
49
37
  */
50
- UInt16.prototype.valueOf = function () {
51
- return this.bytes.readUInt16BE();
52
- };
53
- UInt16.width = 16 / 8; // 2
54
- UInt16.defaultUInt16 = new UInt16(Buffer.alloc(UInt16.width));
55
- return UInt16;
56
- }(uint_1.UInt));
38
+ valueOf() {
39
+ return parseInt((0, utils_1.readUInt16BE)(this.bytes, 0));
40
+ }
41
+ }
57
42
  exports.UInt16 = UInt16;
43
+ UInt16.width = 16 / 8; // 2
44
+ UInt16.defaultUInt16 = new UInt16(new Uint8Array(UInt16.width));
58
45
  //# sourceMappingURL=uint-16.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uint-16.js","sourceRoot":"","sources":["../../src/types/uint-16.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+BAA8B;AAG9B;;GAEG;AACH;IAAqB,0BAAI;IAMvB,gBAAY,KAAa;eACvB,kBAAM,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;IAC5C,CAAC;IAEM,iBAAU,GAAjB,UAAkB,MAAoB;QACpC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACI,WAAI,GAAX,UAAuC,GAAM;QAC3C,IAAI,GAAG,YAAY,MAAM,EAAE;YACzB,OAAO,GAAG,CAAC;SACZ;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,IAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;SACxB;QAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,wBAAO,GAAP;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;IACnC,CAAC;IAvCyB,YAAK,GAAW,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI;IACtC,oBAAa,GAAW,IAAI,MAAM,CAChD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAC3B,CAAC;IAqCJ,aAAC;CAAA,AAzCD,CAAqB,WAAI,GAyCxB;AAEQ,wBAAM"}
1
+ {"version":3,"file":"uint-16.js","sourceRoot":"","sources":["../../src/types/uint-16.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAE7B,oCAAsD;AAEtD;;GAEG;AACH,MAAM,MAAO,SAAQ,WAAI;IAMvB,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAoB;QACpC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAA4B,GAAM;QAC3C,IAAI,GAAG,YAAY,MAAM,EAAE;YACzB,OAAO,GAAG,CAAA;SACX;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;YAErC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACxC,IAAA,qBAAa,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YAC1B,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA;SACvB;QAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,QAAQ,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC;;AAGM,wBAAM;AA5Ca,YAAK,GAAW,EAAE,GAAG,CAAC,CAAA,CAAC,IAAI;AACrC,oBAAa,GAAW,IAAI,MAAM,CAChD,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAC7B,CAAA"}
@@ -1,13 +1,12 @@
1
- /// <reference types="node" />
2
- import { UInt } from "./uint";
3
- import { BinaryParser } from "../serdes/binary-parser";
1
+ import { UInt } from './uint';
2
+ import { BinaryParser } from '../serdes/binary-parser';
4
3
  /**
5
4
  * Derived UInt class for serializing/deserializing 32 bit UInt
6
5
  */
7
6
  declare class UInt32 extends UInt {
8
7
  protected static readonly width: number;
9
8
  static readonly defaultUInt32: UInt32;
10
- constructor(bytes: Buffer);
9
+ constructor(bytes: Uint8Array);
11
10
  static fromParser(parser: BinaryParser): UInt;
12
11
  /**
13
12
  * Construct a UInt32 object from a number