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
package/README.md CHANGED
@@ -98,10 +98,10 @@ Encode the transaction object for multi-signing.
98
98
 
99
99
  Run unit tests with:
100
100
 
101
- yarn test
101
+ npm test
102
102
 
103
103
  Use `--coverage` to generate and display code coverage information:
104
104
 
105
- yarn test --coverage
105
+ npm test --coverage
106
106
 
107
- This tells jest to output code coverage info in the `./coverage` directory, in addition to showing it on the command line.
107
+ This tells jest to output code coverage info in the `./coverage` directory, in addition to showing it on the command line.
package/dist/binary.d.ts CHANGED
@@ -1,56 +1,66 @@
1
- /// <reference types="node" />
2
- import { BinaryParser } from "./serdes/binary-parser";
3
- import { AccountID } from "./types/account-id";
4
- import { BinarySerializer, BytesList } from "./serdes/binary-serializer";
5
- import { sha512Half, transactionID } from "./hashes";
6
- import { JsonObject } from "./types/serialized-type";
1
+ import { BinaryParser } from './serdes/binary-parser';
2
+ import { AccountID } from './types/account-id';
3
+ import { BinarySerializer, BytesList } from './serdes/binary-serializer';
4
+ import { sha512Half, transactionID } from './hashes';
5
+ import { type XrplDefinitionsBase } from './enums';
6
+ import { JsonObject } from './types/serialized-type';
7
7
  /**
8
8
  * Construct a BinaryParser
9
9
  *
10
- * @param bytes hex-string to construct BinaryParser from
11
- * @returns A BinaryParser
10
+ * @param bytes hex-string or Uint8Array to construct BinaryParser from
11
+ * @param definitions rippled definitions used to parse the values of transaction types and such.
12
+ * Can be customized for sidechains and amendments.
13
+ * @returns BinaryParser
12
14
  */
13
- declare const makeParser: (bytes: string) => BinaryParser;
15
+ declare const makeParser: (bytes: string | Uint8Array, definitions?: XrplDefinitionsBase) => BinaryParser;
14
16
  /**
15
17
  * Parse BinaryParser into JSON
16
18
  *
17
19
  * @param parser BinaryParser object
20
+ * @param definitions rippled definitions used to parse the values of transaction types and such.
21
+ * Can be customized for sidechains and amendments.
18
22
  * @returns JSON for the bytes in the BinaryParser
19
23
  */
20
- declare const readJSON: (parser: BinaryParser) => JsonObject;
24
+ declare const readJSON: (parser: BinaryParser, definitions?: XrplDefinitionsBase) => JsonObject;
21
25
  /**
22
26
  * Parse a hex-string into its JSON interpretation
23
27
  *
24
28
  * @param bytes hex-string to parse into JSON
29
+ * @param definitions rippled definitions used to parse the values of transaction types and such.
30
+ * Can be customized for sidechains and amendments.
25
31
  * @returns JSON
26
32
  */
27
- declare const binaryToJSON: (bytes: string) => JsonObject;
33
+ declare const binaryToJSON: (bytes: string, definitions?: XrplDefinitionsBase) => JsonObject;
28
34
  /**
29
35
  * Interface for passing parameters to SerializeObject
30
36
  *
31
37
  * @field set signingFieldOnly to true if you want to serialize only signing fields
32
38
  */
33
39
  interface OptionObject {
34
- prefix?: Buffer;
35
- suffix?: Buffer;
40
+ prefix?: Uint8Array;
41
+ suffix?: Uint8Array;
36
42
  signingFieldsOnly?: boolean;
43
+ definitions?: XrplDefinitionsBase;
37
44
  }
38
45
  /**
39
46
  * Function to serialize JSON object representing a transaction
40
47
  *
41
48
  * @param object JSON object to serialize
42
- * @param opts options for serializing, including optional prefix, suffix, and signingFieldOnly
43
- * @returns A Buffer containing the serialized object
49
+ * @param opts options for serializing, including optional prefix, suffix, signingFieldOnly, and definitions
50
+ * @returns A Uint8Array containing the serialized object
44
51
  */
45
- declare function serializeObject(object: JsonObject, opts?: OptionObject): Buffer;
52
+ declare function serializeObject(object: JsonObject, opts?: OptionObject): Uint8Array;
46
53
  /**
47
54
  * Serialize an object for signing
48
55
  *
49
56
  * @param transaction Transaction to serialize
50
57
  * @param prefix Prefix bytes to put before the serialized object
51
- * @returns A Buffer with the serialized object
58
+ * @param opts.definitions Custom rippled types to use instead of the default. Used for sidechains and amendments.
59
+ * @returns A Uint8Array with the serialized object
52
60
  */
53
- declare function signingData(transaction: JsonObject, prefix?: Buffer): Buffer;
61
+ declare function signingData(transaction: JsonObject, prefix?: Uint8Array, opts?: {
62
+ definitions?: XrplDefinitionsBase;
63
+ }): Uint8Array;
54
64
  /**
55
65
  * Interface describing fields required for a Claim
56
66
  */
@@ -62,15 +72,19 @@ interface ClaimObject extends JsonObject {
62
72
  * Serialize a signingClaim
63
73
  *
64
74
  * @param claim A claim object to serialize
75
+ * @param opts.definitions Custom rippled types to use instead of the default. Used for sidechains and amendments.
65
76
  * @returns the serialized object with appropriate prefix
66
77
  */
67
- declare function signingClaimData(claim: ClaimObject): Buffer;
78
+ declare function signingClaimData(claim: ClaimObject): Uint8Array;
68
79
  /**
69
80
  * Serialize a transaction object for multiSigning
70
81
  *
71
82
  * @param transaction transaction to serialize
72
83
  * @param signingAccount Account to sign the transaction with
84
+ * @param opts.definitions Custom rippled types to use instead of the default. Used for sidechains and amendments.
73
85
  * @returns serialized transaction with appropriate prefix and suffix
74
86
  */
75
- declare function multiSigningData(transaction: JsonObject, signingAccount: string | AccountID): Buffer;
87
+ declare function multiSigningData(transaction: JsonObject, signingAccount: string | AccountID, opts?: {
88
+ definitions: XrplDefinitionsBase;
89
+ }): Uint8Array;
76
90
  export { BinaryParser, BinarySerializer, BytesList, ClaimObject, makeParser, serializeObject, readJSON, multiSigningData, signingData, signingClaimData, binaryToJSON, sha512Half, transactionID, };
package/dist/binary.js CHANGED
@@ -2,60 +2,67 @@
2
2
  /* eslint-disable func-style */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.transactionID = exports.sha512Half = exports.binaryToJSON = exports.signingClaimData = exports.signingData = exports.multiSigningData = exports.readJSON = exports.serializeObject = exports.makeParser = exports.BytesList = exports.BinarySerializer = exports.BinaryParser = void 0;
5
- var types_1 = require("./types");
6
- var binary_parser_1 = require("./serdes/binary-parser");
5
+ const utils_1 = require("@xrplf/isomorphic/utils");
6
+ const types_1 = require("./types");
7
+ const binary_parser_1 = require("./serdes/binary-parser");
7
8
  Object.defineProperty(exports, "BinaryParser", { enumerable: true, get: function () { return binary_parser_1.BinaryParser; } });
8
- var hash_prefixes_1 = require("./hash-prefixes");
9
- var binary_serializer_1 = require("./serdes/binary-serializer");
9
+ const hash_prefixes_1 = require("./hash-prefixes");
10
+ const binary_serializer_1 = require("./serdes/binary-serializer");
10
11
  Object.defineProperty(exports, "BinarySerializer", { enumerable: true, get: function () { return binary_serializer_1.BinarySerializer; } });
11
12
  Object.defineProperty(exports, "BytesList", { enumerable: true, get: function () { return binary_serializer_1.BytesList; } });
12
- var hashes_1 = require("./hashes");
13
+ const hashes_1 = require("./hashes");
13
14
  Object.defineProperty(exports, "sha512Half", { enumerable: true, get: function () { return hashes_1.sha512Half; } });
14
15
  Object.defineProperty(exports, "transactionID", { enumerable: true, get: function () { return hashes_1.transactionID; } });
16
+ const enums_1 = require("./enums");
15
17
  /**
16
18
  * Construct a BinaryParser
17
19
  *
18
- * @param bytes hex-string to construct BinaryParser from
19
- * @returns A BinaryParser
20
+ * @param bytes hex-string or Uint8Array to construct BinaryParser from
21
+ * @param definitions rippled definitions used to parse the values of transaction types and such.
22
+ * Can be customized for sidechains and amendments.
23
+ * @returns BinaryParser
20
24
  */
21
- var makeParser = function (bytes) { return new binary_parser_1.BinaryParser(bytes); };
25
+ const makeParser = (bytes, definitions) => new binary_parser_1.BinaryParser(bytes instanceof Uint8Array ? (0, utils_1.bytesToHex)(bytes) : bytes, definitions);
22
26
  exports.makeParser = makeParser;
23
27
  /**
24
28
  * Parse BinaryParser into JSON
25
29
  *
26
30
  * @param parser BinaryParser object
31
+ * @param definitions rippled definitions used to parse the values of transaction types and such.
32
+ * Can be customized for sidechains and amendments.
27
33
  * @returns JSON for the bytes in the BinaryParser
28
34
  */
29
- var readJSON = function (parser) {
30
- return parser.readType(types_1.coreTypes.STObject).toJSON();
31
- };
35
+ const readJSON = (parser, definitions = enums_1.DEFAULT_DEFINITIONS) => parser.readType(types_1.coreTypes.STObject).toJSON(definitions);
32
36
  exports.readJSON = readJSON;
33
37
  /**
34
38
  * Parse a hex-string into its JSON interpretation
35
39
  *
36
40
  * @param bytes hex-string to parse into JSON
41
+ * @param definitions rippled definitions used to parse the values of transaction types and such.
42
+ * Can be customized for sidechains and amendments.
37
43
  * @returns JSON
38
44
  */
39
- var binaryToJSON = function (bytes) { return readJSON(makeParser(bytes)); };
45
+ const binaryToJSON = (bytes, definitions) => readJSON(makeParser(bytes, definitions), definitions);
40
46
  exports.binaryToJSON = binaryToJSON;
41
47
  /**
42
48
  * Function to serialize JSON object representing a transaction
43
49
  *
44
50
  * @param object JSON object to serialize
45
- * @param opts options for serializing, including optional prefix, suffix, and signingFieldOnly
46
- * @returns A Buffer containing the serialized object
51
+ * @param opts options for serializing, including optional prefix, suffix, signingFieldOnly, and definitions
52
+ * @returns A Uint8Array containing the serialized object
47
53
  */
48
- function serializeObject(object, opts) {
49
- if (opts === void 0) { opts = {}; }
50
- var prefix = opts.prefix, suffix = opts.suffix, _a = opts.signingFieldsOnly, signingFieldsOnly = _a === void 0 ? false : _a;
51
- var bytesList = new binary_serializer_1.BytesList();
54
+ function serializeObject(object, opts = {}) {
55
+ const { prefix, suffix, signingFieldsOnly = false, definitions } = opts;
56
+ const bytesList = new binary_serializer_1.BytesList();
52
57
  if (prefix) {
53
58
  bytesList.put(prefix);
54
59
  }
55
- var filter = signingFieldsOnly
56
- ? function (f) { return f.isSigningField; }
60
+ const filter = signingFieldsOnly
61
+ ? (f) => f.isSigningField
57
62
  : undefined;
58
- types_1.coreTypes.STObject.from(object, filter).toBytesSink(bytesList);
63
+ types_1.coreTypes.STObject
64
+ .from(object, filter, definitions)
65
+ .toBytesSink(bytesList);
59
66
  if (suffix) {
60
67
  bytesList.put(suffix);
61
68
  }
@@ -67,24 +74,30 @@ exports.serializeObject = serializeObject;
67
74
  *
68
75
  * @param transaction Transaction to serialize
69
76
  * @param prefix Prefix bytes to put before the serialized object
70
- * @returns A Buffer with the serialized object
77
+ * @param opts.definitions Custom rippled types to use instead of the default. Used for sidechains and amendments.
78
+ * @returns A Uint8Array with the serialized object
71
79
  */
72
- function signingData(transaction, prefix) {
73
- if (prefix === void 0) { prefix = hash_prefixes_1.HashPrefix.transactionSig; }
74
- return serializeObject(transaction, { prefix: prefix, signingFieldsOnly: true });
80
+ function signingData(transaction, prefix = hash_prefixes_1.HashPrefix.transactionSig, opts = {}) {
81
+ return serializeObject(transaction, {
82
+ prefix,
83
+ signingFieldsOnly: true,
84
+ definitions: opts.definitions,
85
+ });
75
86
  }
76
87
  exports.signingData = signingData;
77
88
  /**
78
89
  * Serialize a signingClaim
79
90
  *
80
91
  * @param claim A claim object to serialize
92
+ * @param opts.definitions Custom rippled types to use instead of the default. Used for sidechains and amendments.
81
93
  * @returns the serialized object with appropriate prefix
82
94
  */
83
95
  function signingClaimData(claim) {
84
- var prefix = hash_prefixes_1.HashPrefix.paymentChannelClaim;
85
- var channel = types_1.coreTypes.Hash256.from(claim.channel).toBytes();
86
- var amount = types_1.coreTypes.UInt64.from(BigInt(claim.amount)).toBytes();
87
- var bytesList = new binary_serializer_1.BytesList();
96
+ const num = BigInt(String(claim.amount));
97
+ const prefix = hash_prefixes_1.HashPrefix.paymentChannelClaim;
98
+ const channel = types_1.coreTypes.Hash256.from(claim.channel).toBytes();
99
+ const amount = types_1.coreTypes.UInt64.from(num).toBytes();
100
+ const bytesList = new binary_serializer_1.BytesList();
88
101
  bytesList.put(prefix);
89
102
  bytesList.put(channel);
90
103
  bytesList.put(amount);
@@ -96,15 +109,19 @@ exports.signingClaimData = signingClaimData;
96
109
  *
97
110
  * @param transaction transaction to serialize
98
111
  * @param signingAccount Account to sign the transaction with
112
+ * @param opts.definitions Custom rippled types to use instead of the default. Used for sidechains and amendments.
99
113
  * @returns serialized transaction with appropriate prefix and suffix
100
114
  */
101
- function multiSigningData(transaction, signingAccount) {
102
- var prefix = hash_prefixes_1.HashPrefix.transactionMultiSig;
103
- var suffix = types_1.coreTypes.AccountID.from(signingAccount).toBytes();
115
+ function multiSigningData(transaction, signingAccount, opts = {
116
+ definitions: enums_1.DEFAULT_DEFINITIONS,
117
+ }) {
118
+ const prefix = hash_prefixes_1.HashPrefix.transactionMultiSig;
119
+ const suffix = types_1.coreTypes.AccountID.from(signingAccount).toBytes();
104
120
  return serializeObject(transaction, {
105
- prefix: prefix,
106
- suffix: suffix,
121
+ prefix,
122
+ suffix,
107
123
  signingFieldsOnly: true,
124
+ definitions: opts.definitions,
108
125
  });
109
126
  }
110
127
  exports.multiSigningData = multiSigningData;
@@ -1 +1 @@
1
- {"version":3,"file":"binary.js","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { Field, TransactionType, LedgerEntryType, Type, TransactionResult } from "./enums";
2
- import * as types from "./types";
3
- import * as binary from "./binary";
4
- import { ShaMap } from "./shamap";
5
- import * as ledgerHashes from "./ledger-hashes";
6
- import * as hashes from "./hashes";
7
- import { quality } from "./quality";
8
- import { HashPrefix } from "./hash-prefixes";
9
- export { hashes, binary, ledgerHashes, Field, TransactionType, LedgerEntryType, Type, TransactionResult, quality, HashPrefix, ShaMap, types, };
1
+ import { DEFAULT_DEFINITIONS, Field, TransactionType, LedgerEntryType, Type, TransactionResult } from './enums';
2
+ import * as types from './types';
3
+ import * as binary from './binary';
4
+ import { ShaMap } from './shamap';
5
+ import * as ledgerHashes from './ledger-hashes';
6
+ import * as hashes from './hashes';
7
+ import { quality } from './quality';
8
+ import { HashPrefix } from './hash-prefixes';
9
+ export { hashes, binary, ledgerHashes, DEFAULT_DEFINITIONS, Field, TransactionType, LedgerEntryType, Type, TransactionResult, quality, HashPrefix, ShaMap, types, };
package/dist/coretypes.js CHANGED
@@ -1,24 +1,48 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.types = exports.ShaMap = exports.HashPrefix = exports.quality = exports.TransactionResult = exports.Type = exports.LedgerEntryType = exports.TransactionType = exports.Field = exports.ledgerHashes = exports.binary = exports.hashes = void 0;
4
- var enums_1 = require("./enums");
26
+ exports.types = exports.ShaMap = exports.HashPrefix = exports.quality = exports.TransactionResult = exports.Type = exports.LedgerEntryType = exports.TransactionType = exports.Field = exports.DEFAULT_DEFINITIONS = exports.ledgerHashes = exports.binary = exports.hashes = void 0;
27
+ const enums_1 = require("./enums");
28
+ Object.defineProperty(exports, "DEFAULT_DEFINITIONS", { enumerable: true, get: function () { return enums_1.DEFAULT_DEFINITIONS; } });
5
29
  Object.defineProperty(exports, "Field", { enumerable: true, get: function () { return enums_1.Field; } });
6
30
  Object.defineProperty(exports, "TransactionType", { enumerable: true, get: function () { return enums_1.TransactionType; } });
7
31
  Object.defineProperty(exports, "LedgerEntryType", { enumerable: true, get: function () { return enums_1.LedgerEntryType; } });
8
32
  Object.defineProperty(exports, "Type", { enumerable: true, get: function () { return enums_1.Type; } });
9
33
  Object.defineProperty(exports, "TransactionResult", { enumerable: true, get: function () { return enums_1.TransactionResult; } });
10
- var types = require("./types");
34
+ const types = __importStar(require("./types"));
11
35
  exports.types = types;
12
- var binary = require("./binary");
36
+ const binary = __importStar(require("./binary"));
13
37
  exports.binary = binary;
14
- var shamap_1 = require("./shamap");
38
+ const shamap_1 = require("./shamap");
15
39
  Object.defineProperty(exports, "ShaMap", { enumerable: true, get: function () { return shamap_1.ShaMap; } });
16
- var ledgerHashes = require("./ledger-hashes");
40
+ const ledgerHashes = __importStar(require("./ledger-hashes"));
17
41
  exports.ledgerHashes = ledgerHashes;
18
- var hashes = require("./hashes");
42
+ const hashes = __importStar(require("./hashes"));
19
43
  exports.hashes = hashes;
20
- var quality_1 = require("./quality");
44
+ const quality_1 = require("./quality");
21
45
  Object.defineProperty(exports, "quality", { enumerable: true, get: function () { return quality_1.quality; } });
22
- var hash_prefixes_1 = require("./hash-prefixes");
46
+ const hash_prefixes_1 = require("./hash-prefixes");
23
47
  Object.defineProperty(exports, "HashPrefix", { enumerable: true, get: function () { return hash_prefixes_1.HashPrefix; } });
24
48
  //# sourceMappingURL=coretypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coretypes.js","sourceRoot":"","sources":["../src/coretypes.ts"],"names":[],"mappings":";;;AAAA,iCAMiB;AAaf,sFAlBA,aAAK,OAkBA;AACL,gGAlBA,uBAAe,OAkBA;AACf,gGAlBA,uBAAe,OAkBA;AACf,qFAlBA,YAAI,OAkBA;AACJ,kGAlBA,yBAAiB,OAkBA;AAhBnB,+BAAiC;AAoB/B,sBAAK;AAnBP,iCAAmC;AASjC,wBAAM;AARR,mCAAkC;AAiBhC,uFAjBO,eAAM,OAiBP;AAhBR,8CAAgD;AAQ9C,oCAAY;AAPd,iCAAmC;AAKjC,wBAAM;AAJR,qCAAoC;AAYlC,wFAZO,iBAAO,OAYP;AAXT,iDAA6C;AAY3C,2FAZO,0BAAU,OAYP"}
1
+ {"version":3,"file":"coretypes.js","sourceRoot":"","sources":["../src/coretypes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAOgB;AAad,oGAnBA,2BAAmB,OAmBA;AACnB,sFAnBA,aAAK,OAmBA;AACL,gGAnBA,uBAAe,OAmBA;AACf,gGAnBA,uBAAe,OAmBA;AACf,qFAnBA,YAAI,OAmBA;AACJ,kGAnBA,yBAAiB,OAmBA;AAjBnB,+CAAgC;AAqB9B,sBAAK;AApBP,iDAAkC;AAShC,wBAAM;AARR,qCAAiC;AAkB/B,uFAlBO,eAAM,OAkBP;AAjBR,8DAA+C;AAQ7C,oCAAY;AAPd,iDAAkC;AAKhC,wBAAM;AAJR,uCAAmC;AAajC,wFAbO,iBAAO,OAaP;AAZT,mDAA4C;AAa1C,2FAbO,0BAAU,OAaP"}
@@ -0,0 +1,25 @@
1
+ import { BytesList, BinaryParser } from '../binary';
2
+ export declare class Bytes {
3
+ readonly name: string;
4
+ readonly ordinal: number;
5
+ readonly ordinalWidth: number;
6
+ readonly bytes: Uint8Array;
7
+ constructor(name: string, ordinal: number, ordinalWidth: number);
8
+ toJSON(): string;
9
+ toBytesSink(sink: BytesList): void;
10
+ toBytes(): Uint8Array;
11
+ }
12
+ export declare class BytesLookup {
13
+ readonly ordinalWidth: number;
14
+ constructor(types: Record<string, number>, ordinalWidth: number);
15
+ /**
16
+ * Add a new name value pair to the BytesLookup.
17
+ *
18
+ * @param name - A human readable name for the field.
19
+ * @param value - The numeric value for the field.
20
+ * @throws if the name or value already exist in the lookup because it's unclear how to decode.
21
+ */
22
+ add(name: string, value: number): void;
23
+ from(value: Bytes | string): Bytes;
24
+ fromParser(parser: BinaryParser): Bytes;
25
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BytesLookup = exports.Bytes = void 0;
4
+ /*
5
+ * @brief: Bytes, name, and ordinal representing one type, ledger_type, transaction type, or result
6
+ */
7
+ class Bytes {
8
+ constructor(name, ordinal, ordinalWidth) {
9
+ this.name = name;
10
+ this.ordinal = ordinal;
11
+ this.ordinalWidth = ordinalWidth;
12
+ this.bytes = new Uint8Array(ordinalWidth);
13
+ for (let i = 0; i < ordinalWidth; i++) {
14
+ this.bytes[ordinalWidth - i - 1] = (ordinal >>> (i * 8)) & 0xff;
15
+ }
16
+ }
17
+ toJSON() {
18
+ return this.name;
19
+ }
20
+ toBytesSink(sink) {
21
+ sink.put(this.bytes);
22
+ }
23
+ toBytes() {
24
+ return this.bytes;
25
+ }
26
+ }
27
+ exports.Bytes = Bytes;
28
+ /*
29
+ * @brief: Collection of Bytes objects, mapping bidirectionally
30
+ */
31
+ class BytesLookup {
32
+ constructor(types, ordinalWidth) {
33
+ this.ordinalWidth = ordinalWidth;
34
+ Object.entries(types).forEach(([k, v]) => {
35
+ this.add(k, v);
36
+ });
37
+ }
38
+ /**
39
+ * Add a new name value pair to the BytesLookup.
40
+ *
41
+ * @param name - A human readable name for the field.
42
+ * @param value - The numeric value for the field.
43
+ * @throws if the name or value already exist in the lookup because it's unclear how to decode.
44
+ */
45
+ add(name, value) {
46
+ if (this[name]) {
47
+ throw new SyntaxError(`Attempted to add a value with a duplicate name "${name}". This is not allowed because it is unclear how to decode.`);
48
+ }
49
+ if (this[value.toString()]) {
50
+ throw new SyntaxError(`Attempted to add a duplicate value under a different name (Given name: "${name}" and previous name: "${this[value.toString()]}. This is not allowed because it is unclear how to decode.\nGiven value: ${value.toString()}`);
51
+ }
52
+ this[name] = new Bytes(name, value, this.ordinalWidth);
53
+ this[value.toString()] = this[name];
54
+ }
55
+ from(value) {
56
+ return value instanceof Bytes ? value : this[value];
57
+ }
58
+ fromParser(parser) {
59
+ return this.from(parser.readUIntN(this.ordinalWidth).toString());
60
+ }
61
+ }
62
+ exports.BytesLookup = BytesLookup;
63
+ //# sourceMappingURL=bytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/enums/bytes.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,KAAK;IAGhB,YACW,IAAY,EACZ,OAAe,EACf,YAAoB;QAFpB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAQ;QACf,iBAAY,GAAZ,YAAY,CAAQ;QAE7B,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,CAAA;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;SAChE;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,WAAW,CAAC,IAAe;QACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;CACF;AAzBD,sBAyBC;AAED;;GAEG;AACH,MAAa,WAAW;IACtB,YAAY,KAA6B,EAAW,YAAoB;QAApB,iBAAY,GAAZ,YAAY,CAAQ;QACtE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACvC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;OAMG;IACH,GAAG,CAAC,IAAY,EAAE,KAAa;QAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;YACd,MAAM,IAAI,WAAW,CACnB,mDAAmD,IAAI,6DAA6D,CACrH,CAAA;SACF;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE;YAC1B,MAAM,IAAI,WAAW,CACnB,2EAA2E,IAAI,yBAC7E,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CACvB,4EAA4E,KAAK,CAAC,QAAQ,EAAE,EAAE,CAC/F,CAAA;SACF;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,CAAC,KAAqB;QACxB,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAW,CAAA;IAChE,CAAC;IAED,UAAU,CAAC,MAAoB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IAClE,CAAC;CACF;AAtCD,kCAsCC"}
@@ -0,0 +1,4 @@
1
+ export declare const TYPE_WIDTH = 2;
2
+ export declare const LEDGER_ENTRY_WIDTH = 2;
3
+ export declare const TRANSACTION_TYPE_WIDTH = 2;
4
+ export declare const TRANSACTION_RESULT_WIDTH = 1;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TRANSACTION_RESULT_WIDTH = exports.TRANSACTION_TYPE_WIDTH = exports.LEDGER_ENTRY_WIDTH = exports.TYPE_WIDTH = void 0;
4
+ exports.TYPE_WIDTH = 2;
5
+ exports.LEDGER_ENTRY_WIDTH = 2;
6
+ exports.TRANSACTION_TYPE_WIDTH = 2;
7
+ exports.TRANSACTION_RESULT_WIDTH = 1;
8
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/enums/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,CAAC,CAAA;AACd,QAAA,kBAAkB,GAAG,CAAC,CAAA;AACtB,QAAA,sBAAsB,GAAG,CAAC,CAAA;AAC1B,QAAA,wBAAwB,GAAG,CAAC,CAAA"}