ripple-binary-codec 1.0.4-beta.1 → 1.0.4-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 (336) hide show
  1. package/README.md +3 -3
  2. package/dist/binary.d.ts +34 -20
  3. package/dist/binary.js +51 -36
  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 -1780
  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 -111
  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 -7
  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 +7 -5
  40. package/dist/ledger-hashes.js +40 -34
  41. package/dist/ledger-hashes.js.map +1 -1
  42. package/dist/quality.d.ts +3 -4
  43. package/dist/quality.js +20 -21
  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 -65
  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 -49
  50. package/dist/serdes/binary-serializer.js.map +1 -1
  51. package/dist/shamap.d.ts +6 -7
  52. package/dist/shamap.js +74 -98
  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 -40
  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 -114
  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 -28
  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 -67
  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 -23
  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 -25
  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 -23
  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 -40
  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 -95
  211. package/dist/types/path-set.js.map +1 -1
  212. package/dist/types/serialized-type.d.ts +27 -20
  213. package/dist/types/serialized-type.js +50 -61
  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 -48
  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 -75
  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 -34
  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 -37
  226. package/dist/types/uint-32.js.map +1 -1
  227. package/dist/types/uint-64.d.ts +6 -8
  228. package/dist/types/uint-64.js +43 -58
  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 -34
  232. package/dist/types/uint-8.js.map +1 -1
  233. package/dist/types/uint.d.ts +6 -7
  234. package/dist/types/uint.js +16 -26
  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 -36
  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/dist/index.js.LICENSE.txt +0 -17
  291. package/test/amount.test.js +0 -43
  292. package/test/binary-json.test.js +0 -47
  293. package/test/binary-parser.test.js +0 -398
  294. package/test/binary-serializer.test.js +0 -264
  295. package/test/fixtures/account-tx-transactions.db +0 -0
  296. package/test/fixtures/codec-fixtures.json +0 -4466
  297. package/test/fixtures/data-driven-tests.json +0 -3721
  298. package/test/fixtures/delivermin-tx-binary.json +0 -1
  299. package/test/fixtures/delivermin-tx.json +0 -98
  300. package/test/fixtures/deposit-preauth-tx-binary.json +0 -1
  301. package/test/fixtures/deposit-preauth-tx-meta-binary.json +0 -1
  302. package/test/fixtures/deposit-preauth-tx.json +0 -58
  303. package/test/fixtures/escrow-cancel-binary.json +0 -1
  304. package/test/fixtures/escrow-cancel-tx.json +0 -6
  305. package/test/fixtures/escrow-create-binary.json +0 -1
  306. package/test/fixtures/escrow-create-tx.json +0 -10
  307. package/test/fixtures/escrow-finish-binary.json +0 -1
  308. package/test/fixtures/escrow-finish-meta-binary.json +0 -1
  309. package/test/fixtures/escrow-finish-tx.json +0 -95
  310. package/test/fixtures/ledger-full-38129.json +0 -1
  311. package/test/fixtures/ledger-full-40000.json +0 -1
  312. package/test/fixtures/negative-unl.json +0 -12
  313. package/test/fixtures/payment-channel-claim-binary.json +0 -1
  314. package/test/fixtures/payment-channel-claim-tx.json +0 -8
  315. package/test/fixtures/payment-channel-create-binary.json +0 -1
  316. package/test/fixtures/payment-channel-create-tx.json +0 -11
  317. package/test/fixtures/payment-channel-fund-binary.json +0 -1
  318. package/test/fixtures/payment-channel-fund-tx.json +0 -7
  319. package/test/fixtures/signerlistset-tx-binary.json +0 -1
  320. package/test/fixtures/signerlistset-tx-meta-binary.json +0 -1
  321. package/test/fixtures/signerlistset-tx.json +0 -94
  322. package/test/fixtures/ticket-create-binary.json +0 -1
  323. package/test/fixtures/ticket-create-tx.json +0 -7
  324. package/test/fixtures/x-codec-fixtures.json +0 -188
  325. package/test/hash.test.js +0 -83
  326. package/test/ledger.test.js +0 -29
  327. package/test/lower-case-hex.test.js +0 -45
  328. package/test/pseudo-transaction.test.js +0 -38
  329. package/test/quality.test.js +0 -15
  330. package/test/shamap.test.js +0 -89
  331. package/test/signing-data-encoding.test.js +0 -129
  332. package/test/tx-encode-decode.test.js +0 -97
  333. package/test/types.test.js +0 -34
  334. package/test/uint.test.js +0 -40
  335. package/test/utils.js +0 -30
  336. 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
- import { SerializedType } from "../types/serialized-type";
2
- import { Buffer } from "buffer/";
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,120 +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 buffer_1 = require("buffer/");
7
- var TYPE_WIDTH = 2;
8
- var LEDGER_ENTRY_WIDTH = 2;
9
- var TRANSACTION_TYPE_WIDTH = 2;
10
- var TRANSACTION_RESULT_WIDTH = 1;
11
- /*
12
- * @brief: Serialize a field based on type_code and Field.nth
13
- */
14
- function fieldHeader(type, nth) {
15
- var header = [];
16
- if (type < 16) {
17
- if (nth < 16) {
18
- header.push((type << 4) | nth);
19
- }
20
- else {
21
- header.push(type << 4, nth);
22
- }
23
- }
24
- else if (nth < 16) {
25
- header.push(nth, type);
26
- }
27
- else {
28
- header.push(0, type, nth);
29
- }
30
- return buffer_1.Buffer.from(header);
31
- }
32
- /*
33
- * @brief: Bytes, name, and ordinal representing one type, ledger_type, transaction type, or result
34
- */
35
- var Bytes = /** @class */ (function () {
36
- function Bytes(name, ordinal, ordinalWidth) {
37
- this.name = name;
38
- this.ordinal = ordinal;
39
- this.ordinalWidth = ordinalWidth;
40
- this.bytes = buffer_1.Buffer.alloc(ordinalWidth);
41
- for (var i = 0; i < ordinalWidth; i++) {
42
- this.bytes[ordinalWidth - i - 1] = (ordinal >>> (i * 8)) & 0xff;
43
- }
44
- }
45
- Bytes.prototype.toJSON = function () {
46
- return this.name;
47
- };
48
- Bytes.prototype.toBytesSink = function (sink) {
49
- sink.put(this.bytes);
50
- };
51
- Bytes.prototype.toBytes = function () {
52
- return this.bytes;
53
- };
54
- return Bytes;
55
- }());
56
- /*
57
- * @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.
58
13
  */
59
- var BytesLookup = /** @class */ (function () {
60
- function BytesLookup(types, ordinalWidth) {
61
- var _this = this;
62
- this.ordinalWidth = ordinalWidth;
63
- Object.entries(types).forEach(function (_a) {
64
- var k = _a[0], v = _a[1];
65
- _this[k] = new Bytes(k, v, ordinalWidth);
66
- _this[v.toString()] = _this[k];
67
- });
68
- }
69
- BytesLookup.prototype.from = function (value) {
70
- return value instanceof Bytes ? value : this[value];
71
- };
72
- BytesLookup.prototype.fromParser = function (parser) {
73
- return this.from(parser.readUIntN(this.ordinalWidth).toString());
74
- };
75
- return BytesLookup;
76
- }());
77
- function buildField(_a) {
78
- var name = _a[0], info = _a[1];
79
- var typeOrdinal = enums.TYPES[info.type];
80
- var field = fieldHeader(typeOrdinal, info.nth);
81
- return {
82
- name: name,
83
- nth: info.nth,
84
- isVariableLengthEncoded: info.isVLEncoded,
85
- isSerialized: info.isSerialized,
86
- isSigningField: info.isSigningField,
87
- ordinal: (typeOrdinal << 16) | info.nth,
88
- type: new Bytes(info.type, typeOrdinal, TYPE_WIDTH),
89
- header: field,
90
- associatedType: serialized_type_1.SerializedType,
91
- };
92
- }
93
- /*
94
- * @brief: The collection of all fields as defined in definitions.json
95
- */
96
- var FieldLookup = /** @class */ (function () {
97
- function FieldLookup(fields) {
98
- var _this = this;
99
- fields.forEach(function (_a) {
100
- var k = _a[0], v = _a[1];
101
- _this[k] = buildField([k, v]);
102
- _this[_this[k].ordinal.toString()] = _this[k];
103
- });
104
- }
105
- FieldLookup.prototype.fromString = function (value) {
106
- return this[value];
107
- };
108
- return FieldLookup;
109
- }());
110
- 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;
111
17
  exports.Type = Type;
112
- var LedgerEntryType = new BytesLookup(enums.LEDGER_ENTRY_TYPES, LEDGER_ENTRY_WIDTH);
18
+ const LedgerEntryType = DEFAULT_DEFINITIONS.ledgerEntryType;
113
19
  exports.LedgerEntryType = LedgerEntryType;
114
- var TransactionType = new BytesLookup(enums.TRANSACTION_TYPES, TRANSACTION_TYPE_WIDTH);
20
+ const TransactionType = DEFAULT_DEFINITIONS.transactionType;
115
21
  exports.TransactionType = TransactionType;
116
- var TransactionResult = new BytesLookup(enums.TRANSACTION_RESULTS, TRANSACTION_RESULT_WIDTH);
22
+ const TransactionResult = DEFAULT_DEFINITIONS.transactionResult;
117
23
  exports.TransactionResult = TransactionResult;
118
- var Field = new FieldLookup(enums.FIELDS);
24
+ const Field = DEFAULT_DEFINITIONS.field;
119
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;
120
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"}