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
@@ -0,0 +1,28 @@
1
+ import { Bytes } from './bytes';
2
+ import { SerializedType } from '../types/serialized-type';
3
+ /**
4
+ * Encoding information for a rippled field, often used in transactions.
5
+ * See the enums [README.md](https://github.com/XRPLF/xrpl.js/tree/main/packages/ripple-binary-codec/src/enums) for more details on what each means.
6
+ */
7
+ export interface FieldInfo {
8
+ nth: number;
9
+ isVLEncoded: boolean;
10
+ isSerialized: boolean;
11
+ isSigningField: boolean;
12
+ type: string;
13
+ }
14
+ export interface FieldInstance {
15
+ readonly nth: number;
16
+ readonly isVariableLengthEncoded: boolean;
17
+ readonly isSerialized: boolean;
18
+ readonly isSigningField: boolean;
19
+ readonly type: Bytes;
20
+ readonly ordinal: number;
21
+ readonly name: string;
22
+ readonly header: Uint8Array;
23
+ readonly associatedType: typeof SerializedType;
24
+ }
25
+ export declare class FieldLookup {
26
+ constructor(fields: Array<[string, FieldInfo]>, types: Record<string, number>);
27
+ fromString(value: string): FieldInstance;
28
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FieldLookup = void 0;
4
+ const bytes_1 = require("./bytes");
5
+ const serialized_type_1 = require("../types/serialized-type");
6
+ const constants_1 = require("./constants");
7
+ /*
8
+ * @brief: Serialize a field based on type_code and Field.nth
9
+ */
10
+ function fieldHeader(type, nth) {
11
+ const header = [];
12
+ if (type < 16) {
13
+ if (nth < 16) {
14
+ header.push((type << 4) | nth);
15
+ }
16
+ else {
17
+ header.push(type << 4, nth);
18
+ }
19
+ }
20
+ else if (nth < 16) {
21
+ header.push(nth, type);
22
+ }
23
+ else {
24
+ header.push(0, type, nth);
25
+ }
26
+ return Uint8Array.from(header);
27
+ }
28
+ function buildField([name, info], typeOrdinal) {
29
+ const field = fieldHeader(typeOrdinal, info.nth);
30
+ return {
31
+ name: name,
32
+ nth: info.nth,
33
+ isVariableLengthEncoded: info.isVLEncoded,
34
+ isSerialized: info.isSerialized,
35
+ isSigningField: info.isSigningField,
36
+ ordinal: (typeOrdinal << 16) | info.nth,
37
+ type: new bytes_1.Bytes(info.type, typeOrdinal, constants_1.TYPE_WIDTH),
38
+ header: field,
39
+ associatedType: serialized_type_1.SerializedType, // For later assignment in ./types/index.js or Definitions.updateAll(...)
40
+ };
41
+ }
42
+ /*
43
+ * @brief: The collection of all fields as defined in definitions.json
44
+ */
45
+ class FieldLookup {
46
+ constructor(fields, types) {
47
+ fields.forEach(([name, field_info]) => {
48
+ const typeOrdinal = types[field_info.type];
49
+ this[name] = buildField([name, field_info], typeOrdinal);
50
+ this[this[name].ordinal.toString()] = this[name];
51
+ });
52
+ }
53
+ fromString(value) {
54
+ return this[value];
55
+ }
56
+ }
57
+ exports.FieldLookup = FieldLookup;
58
+ //# sourceMappingURL=field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/enums/field.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAC/B,8DAAyD;AACzD,2CAAwC;AA0BxC;;GAEG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,GAAW;IAC5C,MAAM,MAAM,GAAkB,EAAE,CAAA;IAChC,IAAI,IAAI,GAAG,EAAE,EAAE;QACb,IAAI,GAAG,GAAG,EAAE,EAAE;YACZ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;SAC/B;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;SAC5B;KACF;SAAM,IAAI,GAAG,GAAG,EAAE,EAAE;QACnB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;KACvB;SAAM;QACL,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;KAC1B;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,UAAU,CACjB,CAAC,IAAI,EAAE,IAAI,CAAsB,EACjC,WAAmB;IAEnB,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAChD,OAAO;QACL,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,uBAAuB,EAAE,IAAI,CAAC,WAAW;QACzC,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,OAAO,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG;QACvC,IAAI,EAAE,IAAI,aAAK,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,sBAAU,CAAC;QACnD,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,gCAAc,EAAE,yEAAyE;KAC1G,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAa,WAAW;IACtB,YACE,MAAkC,EAClC,KAA6B;QAE7B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE;YACpC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,CAAA;YACxD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,KAAK,CAAkB,CAAA;IACrC,CAAC;CACF;AAfD,kCAeC"}
@@ -1,46 +1,12 @@
1
- /// <reference types="node" />
2
- import { SerializedType } from "../types/serialized-type";
3
- declare class Bytes {
4
- readonly name: string;
5
- readonly ordinal: number;
6
- readonly ordinalWidth: number;
7
- readonly bytes: Uint8Array;
8
- constructor(name: string, ordinal: number, ordinalWidth: number);
9
- toJSON(): string;
10
- toBytesSink(sink: any): void;
11
- toBytes(): Uint8Array;
12
- }
13
- declare class BytesLookup {
14
- readonly ordinalWidth: number;
15
- constructor(types: Record<string, number>, ordinalWidth: number);
16
- from(value: Bytes | string): Bytes;
17
- fromParser(parser: any): Bytes;
18
- }
19
- interface FieldInfo {
20
- nth: number;
21
- isVLEncoded: boolean;
22
- isSerialized: boolean;
23
- isSigningField: boolean;
24
- type: string;
25
- }
26
- interface FieldInstance {
27
- readonly nth: number;
28
- readonly isVariableLengthEncoded: boolean;
29
- readonly isSerialized: boolean;
30
- readonly isSigningField: boolean;
31
- readonly type: Bytes;
32
- readonly ordinal: number;
33
- readonly name: string;
34
- readonly header: Buffer;
35
- readonly associatedType: typeof SerializedType;
36
- }
37
- declare class FieldLookup {
38
- constructor(fields: Array<[string, FieldInfo]>);
39
- fromString(value: string): FieldInstance;
40
- }
41
- declare const Type: BytesLookup;
42
- declare const LedgerEntryType: BytesLookup;
43
- declare const TransactionType: BytesLookup;
44
- declare const TransactionResult: BytesLookup;
45
- declare const Field: FieldLookup;
46
- export { Field, FieldInstance, Type, LedgerEntryType, TransactionResult, TransactionType, };
1
+ import { XrplDefinitionsBase, FieldInstance, Bytes } from './xrpl-definitions-base';
2
+ /**
3
+ * By default, coreTypes from the `types` folder is where known type definitions are initialized to avoid import cycles.
4
+ */
5
+ declare const DEFAULT_DEFINITIONS: XrplDefinitionsBase;
6
+ declare const Type: import("./bytes").BytesLookup;
7
+ declare const LedgerEntryType: import("./bytes").BytesLookup;
8
+ declare const TransactionType: import("./bytes").BytesLookup;
9
+ declare const TransactionResult: import("./bytes").BytesLookup;
10
+ declare const Field: import("./field").FieldLookup;
11
+ declare const TRANSACTION_TYPES: string[];
12
+ export { Bytes, XrplDefinitionsBase, DEFAULT_DEFINITIONS, Field, FieldInstance, Type, LedgerEntryType, TransactionResult, TransactionType, TRANSACTION_TYPES, };
@@ -1,119 +1,31 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionType = exports.TransactionResult = exports.LedgerEntryType = exports.Type = exports.Field = void 0;
4
- var enums = require("./definitions.json");
5
- var serialized_type_1 = require("../types/serialized-type");
6
- var TYPE_WIDTH = 2;
7
- var LEDGER_ENTRY_WIDTH = 2;
8
- var TRANSACTION_TYPE_WIDTH = 2;
9
- var TRANSACTION_RESULT_WIDTH = 1;
10
- /*
11
- * @brief: Serialize a field based on type_code and Field.nth
12
- */
13
- function fieldHeader(type, nth) {
14
- var header = [];
15
- if (type < 16) {
16
- if (nth < 16) {
17
- header.push((type << 4) | nth);
18
- }
19
- else {
20
- header.push(type << 4, nth);
21
- }
22
- }
23
- else if (nth < 16) {
24
- header.push(nth, type);
25
- }
26
- else {
27
- header.push(0, type, nth);
28
- }
29
- return Buffer.from(header);
30
- }
31
- /*
32
- * @brief: Bytes, name, and ordinal representing one type, ledger_type, transaction type, or result
33
- */
34
- var Bytes = /** @class */ (function () {
35
- function Bytes(name, ordinal, ordinalWidth) {
36
- this.name = name;
37
- this.ordinal = ordinal;
38
- this.ordinalWidth = ordinalWidth;
39
- this.bytes = Buffer.alloc(ordinalWidth);
40
- for (var i = 0; i < ordinalWidth; i++) {
41
- this.bytes[ordinalWidth - i - 1] = (ordinal >>> (i * 8)) & 0xff;
42
- }
43
- }
44
- Bytes.prototype.toJSON = function () {
45
- return this.name;
46
- };
47
- Bytes.prototype.toBytesSink = function (sink) {
48
- sink.put(this.bytes);
49
- };
50
- Bytes.prototype.toBytes = function () {
51
- return this.bytes;
52
- };
53
- return Bytes;
54
- }());
55
- /*
56
- * @brief: Collection of Bytes objects, mapping bidirectionally
6
+ exports.TRANSACTION_TYPES = exports.TransactionType = exports.TransactionResult = exports.LedgerEntryType = exports.Type = exports.Field = exports.DEFAULT_DEFINITIONS = exports.XrplDefinitionsBase = exports.Bytes = void 0;
7
+ const definitions_json_1 = __importDefault(require("./definitions.json"));
8
+ const xrpl_definitions_base_1 = require("./xrpl-definitions-base");
9
+ Object.defineProperty(exports, "XrplDefinitionsBase", { enumerable: true, get: function () { return xrpl_definitions_base_1.XrplDefinitionsBase; } });
10
+ Object.defineProperty(exports, "Bytes", { enumerable: true, get: function () { return xrpl_definitions_base_1.Bytes; } });
11
+ /**
12
+ * By default, coreTypes from the `types` folder is where known type definitions are initialized to avoid import cycles.
57
13
  */
58
- var BytesLookup = /** @class */ (function () {
59
- function BytesLookup(types, ordinalWidth) {
60
- var _this = this;
61
- this.ordinalWidth = ordinalWidth;
62
- Object.entries(types).forEach(function (_a) {
63
- var k = _a[0], v = _a[1];
64
- _this[k] = new Bytes(k, v, ordinalWidth);
65
- _this[v.toString()] = _this[k];
66
- });
67
- }
68
- BytesLookup.prototype.from = function (value) {
69
- return value instanceof Bytes ? value : this[value];
70
- };
71
- BytesLookup.prototype.fromParser = function (parser) {
72
- return this.from(parser.readUIntN(this.ordinalWidth).toString());
73
- };
74
- return BytesLookup;
75
- }());
76
- function buildField(_a) {
77
- var name = _a[0], info = _a[1];
78
- var typeOrdinal = enums.TYPES[info.type];
79
- var field = fieldHeader(typeOrdinal, info.nth);
80
- return {
81
- name: name,
82
- nth: info.nth,
83
- isVariableLengthEncoded: info.isVLEncoded,
84
- isSerialized: info.isSerialized,
85
- isSigningField: info.isSigningField,
86
- ordinal: (typeOrdinal << 16) | info.nth,
87
- type: new Bytes(info.type, typeOrdinal, TYPE_WIDTH),
88
- header: field,
89
- associatedType: serialized_type_1.SerializedType,
90
- };
91
- }
92
- /*
93
- * @brief: The collection of all fields as defined in definitions.json
94
- */
95
- var FieldLookup = /** @class */ (function () {
96
- function FieldLookup(fields) {
97
- var _this = this;
98
- fields.forEach(function (_a) {
99
- var k = _a[0], v = _a[1];
100
- _this[k] = buildField([k, v]);
101
- _this[_this[k].ordinal.toString()] = _this[k];
102
- });
103
- }
104
- FieldLookup.prototype.fromString = function (value) {
105
- return this[value];
106
- };
107
- return FieldLookup;
108
- }());
109
- var Type = new BytesLookup(enums.TYPES, TYPE_WIDTH);
14
+ const DEFAULT_DEFINITIONS = new xrpl_definitions_base_1.XrplDefinitionsBase(definitions_json_1.default, {});
15
+ exports.DEFAULT_DEFINITIONS = DEFAULT_DEFINITIONS;
16
+ const Type = DEFAULT_DEFINITIONS.type;
110
17
  exports.Type = Type;
111
- var LedgerEntryType = new BytesLookup(enums.LEDGER_ENTRY_TYPES, LEDGER_ENTRY_WIDTH);
18
+ const LedgerEntryType = DEFAULT_DEFINITIONS.ledgerEntryType;
112
19
  exports.LedgerEntryType = LedgerEntryType;
113
- var TransactionType = new BytesLookup(enums.TRANSACTION_TYPES, TRANSACTION_TYPE_WIDTH);
20
+ const TransactionType = DEFAULT_DEFINITIONS.transactionType;
114
21
  exports.TransactionType = TransactionType;
115
- var TransactionResult = new BytesLookup(enums.TRANSACTION_RESULTS, TRANSACTION_RESULT_WIDTH);
22
+ const TransactionResult = DEFAULT_DEFINITIONS.transactionResult;
116
23
  exports.TransactionResult = TransactionResult;
117
- var Field = new FieldLookup(enums.FIELDS);
24
+ const Field = DEFAULT_DEFINITIONS.field;
118
25
  exports.Field = Field;
26
+ /*
27
+ * @brief: All valid transaction types
28
+ */
29
+ const TRANSACTION_TYPES = DEFAULT_DEFINITIONS.transactionNames;
30
+ exports.TRANSACTION_TYPES = TRANSACTION_TYPES;
119
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":";;;;;;AAAA,0EAAsC;AACtC,mEAIgC;AAmB9B,oGAtBA,2CAAmB,OAsBA;AADnB,sFAnBA,6BAAK,OAmBA;AAjBP;;GAEG;AACH,MAAM,mBAAmB,GAAG,IAAI,2CAAmB,CAAC,0BAAK,EAAE,EAAE,CAAC,CAAA;AAgB5D,kDAAmB;AAdrB,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAA;AAiBnC,oBAAI;AAhBN,MAAM,eAAe,GAAG,mBAAmB,CAAC,eAAe,CAAA;AAiBzD,0CAAe;AAhBjB,MAAM,eAAe,GAAG,mBAAmB,CAAC,eAAe,CAAA;AAkBzD,0CAAe;AAjBjB,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,iBAAiB,CAAA;AAgB7D,8CAAiB;AAfnB,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;AAWrC,sBAAK;AATP;;GAEG;AACH,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,gBAAgB,CAAA;AAY5D,8CAAiB"}