@transia/ripple-binary-codec 1.4.6-alpha.8 → 2.5.1-quantum.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/dist/binary.d.ts +30 -16
  2. package/dist/binary.js +36 -16
  3. package/dist/binary.js.map +1 -1
  4. package/dist/enums/bytes.d.ts +1 -2
  5. package/dist/enums/bytes.js +1 -2
  6. package/dist/enums/bytes.js.map +1 -1
  7. package/dist/enums/constants.d.ts +1 -0
  8. package/dist/enums/constants.js +6 -5
  9. package/dist/enums/constants.js.map +1 -1
  10. package/dist/enums/definitions.json +1565 -898
  11. package/dist/enums/field.d.ts +1 -2
  12. package/dist/enums/field.js +1 -2
  13. package/dist/enums/field.js.map +1 -1
  14. package/dist/enums/index.d.ts +1 -2
  15. package/dist/enums/index.js +5 -27
  16. package/dist/enums/index.js.map +1 -1
  17. package/dist/enums/src/enums/definitions.json +1566 -899
  18. package/dist/enums/xrpl-definitions-base.d.ts +5 -3
  19. package/dist/enums/xrpl-definitions-base.js +26 -6
  20. package/dist/enums/xrpl-definitions-base.js.map +1 -1
  21. package/dist/enums/xrpl-definitions.d.ts +2 -1
  22. package/dist/enums/xrpl-definitions.js +2 -1
  23. package/dist/enums/xrpl-definitions.js.map +1 -1
  24. package/dist/hash-prefixes.d.ts +1 -2
  25. package/dist/hash-prefixes.js +8 -6
  26. package/dist/hash-prefixes.js.map +1 -1
  27. package/dist/hashes.d.ts +6 -7
  28. package/dist/hashes.js +6 -7
  29. package/dist/hashes.js.map +1 -1
  30. package/dist/index.d.ts +16 -11
  31. package/dist/index.js +53 -58
  32. package/dist/index.js.map +1 -1
  33. package/dist/ledger-hashes.d.ts +1 -2
  34. package/dist/ledger-hashes.js +11 -30
  35. package/dist/ledger-hashes.js.map +1 -1
  36. package/dist/quality.d.ts +3 -4
  37. package/dist/quality.js +10 -8
  38. package/dist/quality.js.map +1 -1
  39. package/dist/serdes/binary-parser.d.ts +2 -3
  40. package/dist/serdes/binary-parser.js +16 -32
  41. package/dist/serdes/binary-parser.js.map +1 -1
  42. package/dist/serdes/binary-serializer.d.ts +6 -7
  43. package/dist/serdes/binary-serializer.js +12 -35
  44. package/dist/serdes/binary-serializer.js.map +1 -1
  45. package/dist/shamap.d.ts +4 -5
  46. package/dist/shamap.js +5 -5
  47. package/dist/shamap.js.map +1 -1
  48. package/dist/src/binary.d.ts +106 -0
  49. package/dist/src/binary.js +154 -0
  50. package/dist/src/binary.js.map +1 -0
  51. package/dist/src/coretypes.d.ts +9 -0
  52. package/dist/src/coretypes.js +48 -0
  53. package/dist/src/coretypes.js.map +1 -0
  54. package/dist/src/enums/bytes.d.ts +25 -0
  55. package/dist/src/enums/bytes.js +63 -0
  56. package/dist/src/enums/bytes.js.map +1 -0
  57. package/dist/src/enums/constants.d.ts +5 -0
  58. package/dist/src/enums/constants.js +9 -0
  59. package/dist/src/enums/constants.js.map +1 -0
  60. package/dist/src/enums/definitions.json +3385 -0
  61. package/dist/src/enums/field.d.ts +28 -0
  62. package/dist/src/enums/field.js +58 -0
  63. package/dist/src/enums/field.js.map +1 -0
  64. package/dist/src/enums/index.d.ts +12 -0
  65. package/dist/src/enums/index.js +31 -0
  66. package/dist/src/enums/index.js.map +1 -0
  67. package/dist/src/enums/utils-renumber.d.ts +101 -0
  68. package/dist/src/enums/utils-renumber.js +127 -0
  69. package/dist/src/enums/utils-renumber.js.map +1 -0
  70. package/dist/src/enums/xrpl-definitions-base.d.ts +47 -0
  71. package/dist/src/enums/xrpl-definitions-base.js +83 -0
  72. package/dist/src/enums/xrpl-definitions-base.js.map +1 -0
  73. package/dist/src/enums/xrpl-definitions.d.ts +22 -0
  74. package/dist/src/enums/xrpl-definitions.js +30 -0
  75. package/dist/src/enums/xrpl-definitions.js.map +1 -0
  76. package/dist/src/hash-prefixes.d.ts +5 -0
  77. package/dist/src/hash-prefixes.js +43 -0
  78. package/dist/src/hash-prefixes.js.map +1 -0
  79. package/dist/src/hashes.d.ts +50 -0
  80. package/dist/src/hashes.js +76 -0
  81. package/dist/src/hashes.js.map +1 -0
  82. package/dist/src/index.d.ts +69 -0
  83. package/dist/src/index.js +134 -0
  84. package/dist/src/index.js.map +1 -0
  85. package/dist/src/ledger-hashes.d.ts +48 -0
  86. package/dist/src/ledger-hashes.js +141 -0
  87. package/dist/src/ledger-hashes.js.map +1 -0
  88. package/dist/src/quality.d.ts +21 -0
  89. package/dist/src/quality.js +42 -0
  90. package/dist/src/quality.js.map +1 -0
  91. package/dist/src/serdes/binary-parser.d.ts +100 -0
  92. package/dist/src/serdes/binary-parser.js +194 -0
  93. package/dist/src/serdes/binary-parser.js.map +1 -0
  94. package/dist/src/serdes/binary-serializer.d.ts +81 -0
  95. package/dist/src/serdes/binary-serializer.js +149 -0
  96. package/dist/src/serdes/binary-serializer.js.map +1 -0
  97. package/dist/src/shamap.d.ts +102 -0
  98. package/dist/src/shamap.js +172 -0
  99. package/dist/src/shamap.js.map +1 -0
  100. package/dist/src/types/account-id.d.ts +35 -0
  101. package/dist/src/types/account-id.js +69 -0
  102. package/dist/src/types/account-id.js.map +1 -0
  103. package/dist/src/types/amount.d.ts +91 -0
  104. package/dist/src/types/amount.js +289 -0
  105. package/dist/src/types/amount.js.map +1 -0
  106. package/dist/src/types/blob.d.ts +24 -0
  107. package/dist/src/types/blob.js +43 -0
  108. package/dist/src/types/blob.js.map +1 -0
  109. package/dist/src/types/currency.d.ts +28 -0
  110. package/dist/src/types/currency.js +127 -0
  111. package/dist/src/types/currency.js.map +1 -0
  112. package/dist/src/types/hash-128.d.ts +16 -0
  113. package/dist/src/types/hash-128.js +32 -0
  114. package/dist/src/types/hash-128.js.map +1 -0
  115. package/dist/src/types/hash-160.d.ts +10 -0
  116. package/dist/src/types/hash-160.js +19 -0
  117. package/dist/src/types/hash-160.js.map +1 -0
  118. package/dist/src/types/hash-192.d.ts +10 -0
  119. package/dist/src/types/hash-192.js +19 -0
  120. package/dist/src/types/hash-192.js.map +1 -0
  121. package/dist/src/types/hash-256.d.ts +10 -0
  122. package/dist/src/types/hash-256.js +16 -0
  123. package/dist/src/types/hash-256.js.map +1 -0
  124. package/dist/src/types/hash.d.ts +40 -0
  125. package/dist/src/types/hash.js +76 -0
  126. package/dist/src/types/hash.js.map +1 -0
  127. package/dist/src/types/index.d.ts +19 -0
  128. package/dist/src/types/index.js +66 -0
  129. package/dist/src/types/index.js.map +1 -0
  130. package/dist/src/types/issue.d.ts +48 -0
  131. package/dist/src/types/issue.js +104 -0
  132. package/dist/src/types/issue.js.map +1 -0
  133. package/dist/src/types/path-set.d.ts +36 -0
  134. package/dist/src/types/path-set.js +233 -0
  135. package/dist/src/types/path-set.js.map +1 -0
  136. package/dist/src/types/serialized-type.d.ts +70 -0
  137. package/dist/src/types/serialized-type.js +105 -0
  138. package/dist/src/types/serialized-type.js.map +1 -0
  139. package/dist/src/types/st-array.d.ts +31 -0
  140. package/dist/src/types/st-array.js +86 -0
  141. package/dist/src/types/st-array.js.map +1 -0
  142. package/dist/src/types/st-number.d.ts +54 -0
  143. package/dist/src/types/st-number.js +208 -0
  144. package/dist/src/types/st-number.js.map +1 -0
  145. package/dist/src/types/st-object.d.ts +32 -0
  146. package/dist/src/types/st-object.js +173 -0
  147. package/dist/src/types/st-object.js.map +1 -0
  148. package/dist/src/types/uint-16.d.ts +24 -0
  149. package/dist/src/types/uint-16.js +45 -0
  150. package/dist/src/types/uint-16.js.map +1 -0
  151. package/dist/src/types/uint-32.d.ts +24 -0
  152. package/dist/src/types/uint-32.js +50 -0
  153. package/dist/src/types/uint-32.js.map +1 -0
  154. package/dist/src/types/uint-64.d.ts +38 -0
  155. package/dist/src/types/uint-64.js +107 -0
  156. package/dist/src/types/uint-64.js.map +1 -0
  157. package/dist/src/types/uint-8.d.ts +24 -0
  158. package/dist/src/types/uint-8.js +46 -0
  159. package/dist/src/types/uint-8.js.map +1 -0
  160. package/dist/src/types/uint.d.ts +29 -0
  161. package/dist/src/types/uint.js +47 -0
  162. package/dist/src/types/uint.js.map +1 -0
  163. package/dist/src/types/vector-256.d.ts +30 -0
  164. package/dist/src/types/vector-256.js +73 -0
  165. package/dist/src/types/vector-256.js.map +1 -0
  166. package/dist/src/types/xchain-bridge.d.ts +44 -0
  167. package/dist/src/types/xchain-bridge.js +102 -0
  168. package/dist/src/types/xchain-bridge.js.map +1 -0
  169. package/dist/src/utils.d.ts +79 -0
  170. package/dist/src/utils.js +181 -0
  171. package/dist/src/utils.js.map +1 -0
  172. package/dist/tsconfig.tsbuildinfo +1 -0
  173. package/dist/types/account-id.d.ts +1 -2
  174. package/dist/types/account-id.js +4 -6
  175. package/dist/types/account-id.js.map +1 -1
  176. package/dist/types/amount.d.ts +31 -8
  177. package/dist/types/amount.js +125 -43
  178. package/dist/types/amount.js.map +1 -1
  179. package/dist/types/blob.d.ts +1 -2
  180. package/dist/types/blob.js +5 -2
  181. package/dist/types/blob.js.map +1 -1
  182. package/dist/types/currency.d.ts +1 -2
  183. package/dist/types/currency.js +13 -13
  184. package/dist/types/currency.js.map +1 -1
  185. package/dist/types/hash-128.d.ts +1 -2
  186. package/dist/types/hash-128.js +3 -3
  187. package/dist/types/hash-128.js.map +1 -1
  188. package/dist/types/hash-160.d.ts +1 -2
  189. package/dist/types/hash-160.js +1 -2
  190. package/dist/types/hash-160.js.map +1 -1
  191. package/dist/types/hash-192.d.ts +10 -0
  192. package/dist/types/hash-192.js +19 -0
  193. package/dist/types/hash-192.js.map +1 -0
  194. package/dist/types/hash-256.d.ts +1 -2
  195. package/dist/types/hash-256.js +1 -2
  196. package/dist/types/hash-256.js.map +1 -1
  197. package/dist/types/hash.d.ts +2 -3
  198. package/dist/types/hash.js +8 -4
  199. package/dist/types/hash.js.map +1 -1
  200. package/dist/types/index.d.ts +2 -1
  201. package/dist/types/index.js +11 -2
  202. package/dist/types/index.js.map +1 -1
  203. package/dist/types/issue.d.ts +48 -0
  204. package/dist/types/issue.js +104 -0
  205. package/dist/types/issue.js.map +1 -0
  206. package/dist/types/path-set.js +12 -12
  207. package/dist/types/path-set.js.map +1 -1
  208. package/dist/types/serialized-type.d.ts +23 -16
  209. package/dist/types/serialized-type.js +15 -7
  210. package/dist/types/serialized-type.js.map +1 -1
  211. package/dist/types/st-array.d.ts +5 -2
  212. package/dist/types/st-array.js +17 -11
  213. package/dist/types/st-array.js.map +1 -1
  214. package/dist/types/st-number.d.ts +54 -0
  215. package/dist/types/st-number.js +208 -0
  216. package/dist/types/st-number.js.map +1 -0
  217. package/dist/types/st-object.js +32 -8
  218. package/dist/types/st-object.js.map +1 -1
  219. package/dist/types/uint-16.d.ts +1 -2
  220. package/dist/types/uint-16.js +6 -5
  221. package/dist/types/uint-16.js.map +1 -1
  222. package/dist/types/uint-32.d.ts +1 -2
  223. package/dist/types/uint-32.js +7 -6
  224. package/dist/types/uint-32.js.map +1 -1
  225. package/dist/types/uint-64.d.ts +6 -7
  226. package/dist/types/uint-64.js +44 -24
  227. package/dist/types/uint-64.js.map +1 -1
  228. package/dist/types/uint-8.d.ts +1 -2
  229. package/dist/types/uint-8.js +7 -5
  230. package/dist/types/uint-8.js.map +1 -1
  231. package/dist/types/uint.d.ts +5 -6
  232. package/dist/types/uint.js +5 -0
  233. package/dist/types/uint.js.map +1 -1
  234. package/dist/types/vector-256.d.ts +1 -2
  235. package/dist/types/vector-256.js +2 -4
  236. package/dist/types/vector-256.js.map +1 -1
  237. package/dist/types/xchain-bridge.d.ts +44 -0
  238. package/dist/types/xchain-bridge.js +102 -0
  239. package/dist/types/xchain-bridge.js.map +1 -0
  240. package/dist/utils.d.ts +79 -0
  241. package/dist/utils.js +181 -0
  242. package/dist/utils.js.map +1 -0
  243. package/package.json +21 -17
  244. package/src/README.md +5 -0
  245. package/src/binary.ts +235 -0
  246. package/src/coretypes.ts +31 -0
  247. package/src/enums/README.md +144 -0
  248. package/src/enums/bytes.ts +74 -0
  249. package/src/enums/constants.ts +5 -0
  250. package/src/enums/definitions.json +3390 -0
  251. package/src/enums/field.ts +84 -0
  252. package/src/enums/index.ts +34 -0
  253. package/src/enums/utils-renumber.ts +134 -0
  254. package/src/enums/xrpl-definitions-base.ts +150 -0
  255. package/src/enums/xrpl-definitions.ts +33 -0
  256. package/src/hash-prefixes.ts +42 -0
  257. package/src/hashes.ts +75 -0
  258. package/src/index.ts +166 -0
  259. package/src/ledger-hashes.ts +191 -0
  260. package/src/quality.ts +38 -0
  261. package/src/serdes/binary-parser.ts +228 -0
  262. package/src/serdes/binary-serializer.ts +166 -0
  263. package/src/shamap.ts +186 -0
  264. package/src/types/account-id.ts +86 -0
  265. package/src/types/amount.ts +362 -0
  266. package/src/types/blob.ts +46 -0
  267. package/src/types/currency.ts +140 -0
  268. package/src/types/hash-128.ts +33 -0
  269. package/src/types/hash-160.ts +19 -0
  270. package/src/types/hash-192.ts +19 -0
  271. package/src/types/hash-256.ts +15 -0
  272. package/src/types/hash.ts +86 -0
  273. package/src/types/index.ts +68 -0
  274. package/src/types/issue.ts +136 -0
  275. package/src/types/path-set.ts +290 -0
  276. package/src/types/serialized-type.ts +122 -0
  277. package/src/types/st-array.ts +113 -0
  278. package/src/types/st-number.ts +233 -0
  279. package/src/types/st-object.ts +215 -0
  280. package/src/types/uint-16.ts +53 -0
  281. package/src/types/uint-32.ts +59 -0
  282. package/src/types/uint-64.ts +135 -0
  283. package/src/types/uint-8.ts +52 -0
  284. package/src/types/uint.ts +60 -0
  285. package/src/types/vector-256.ts +79 -0
  286. package/src/types/xchain-bridge.ts +128 -0
  287. package/src/utils.ts +220 -0
  288. package/test/amount.test.js +0 -43
  289. package/test/binary-json.test.js +0 -45
  290. package/test/binary-parser.test.js +0 -396
  291. package/test/binary-serializer.test.js +0 -307
  292. package/test/definitions.test.js +0 -100
  293. package/test/fixtures/account-tx-transactions.db +0 -0
  294. package/test/fixtures/codec-fixtures.json +0 -4466
  295. package/test/fixtures/data-driven-tests.json +0 -2919
  296. package/test/fixtures/delivermin-tx-binary.json +0 -1
  297. package/test/fixtures/delivermin-tx.json +0 -98
  298. package/test/fixtures/deposit-preauth-tx-binary.json +0 -1
  299. package/test/fixtures/deposit-preauth-tx-meta-binary.json +0 -1
  300. package/test/fixtures/deposit-preauth-tx.json +0 -58
  301. package/test/fixtures/escrow-cancel-binary.json +0 -1
  302. package/test/fixtures/escrow-cancel-tx.json +0 -6
  303. package/test/fixtures/escrow-create-binary.json +0 -1
  304. package/test/fixtures/escrow-create-tx.json +0 -10
  305. package/test/fixtures/escrow-finish-binary.json +0 -1
  306. package/test/fixtures/escrow-finish-meta-binary.json +0 -1
  307. package/test/fixtures/escrow-finish-tx.json +0 -95
  308. package/test/fixtures/ledger-full-38129.json +0 -1
  309. package/test/fixtures/ledger-full-40000.json +0 -1
  310. package/test/fixtures/negative-unl.json +0 -12
  311. package/test/fixtures/nf-token.json +0 -547
  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/ticket-create-binary.json +0 -1
  322. package/test/fixtures/ticket-create-tx.json +0 -7
  323. package/test/fixtures/unl-report-binary.json +0 -1
  324. package/test/fixtures/unl-report-meta-binary.json +0 -1
  325. package/test/fixtures/unl-report.json +0 -89
  326. package/test/fixtures/x-codec-fixtures.json +0 -188
  327. package/test/hash.test.js +0 -135
  328. package/test/ledger.test.js +0 -29
  329. package/test/lower-case-hex.test.js +0 -46
  330. package/test/pseudo-transaction.test.js +0 -38
  331. package/test/quality.test.js +0 -15
  332. package/test/shamap.test.js +0 -89
  333. package/test/signing-data-encoding.test.js +0 -213
  334. package/test/tx-encode-decode.test.js +0 -119
  335. package/test/types.test.js +0 -34
  336. package/test/uint.test.js +0 -148
  337. package/test/utils.js +0 -30
  338. package/test/x-address.test.js +0 -181
@@ -19,12 +19,14 @@ declare class XrplDefinitionsBase {
19
19
  transactionResult: BytesLookup;
20
20
  transactionType: BytesLookup;
21
21
  transactionNames: string[];
22
- transactionMap: Record<string, number>;
23
22
  dataTypes: Record<string, typeof SerializedType>;
23
+ granularPermissions: Record<string, number>;
24
+ delegatablePermissions: BytesLookup;
24
25
  /**
25
26
  * Present rippled types in a typed and updatable format.
26
- * For an example of the input format see `definitions.json`
27
- * To generate a new definitions file from rippled source code, use this tool: https://github.com/RichardAH/xrpl-codec-gen
27
+ * For an example of the input format see `definitions.json`.
28
+ * To generate a new definitions file from rippled source code, use the tool at
29
+ * `packages/ripple-binary-codec/tools/generateDefinitions.js`.
28
30
  *
29
31
  * See the definitions.test.js file for examples of how to create your own updated definitions.json.
30
32
  *
@@ -14,8 +14,9 @@ const constants_1 = require("./constants");
14
14
  class XrplDefinitionsBase {
15
15
  /**
16
16
  * Present rippled types in a typed and updatable format.
17
- * For an example of the input format see `definitions.json`
18
- * To generate a new definitions file from rippled source code, use this tool: https://github.com/RichardAH/xrpl-codec-gen
17
+ * For an example of the input format see `definitions.json`.
18
+ * To generate a new definitions file from rippled source code, use the tool at
19
+ * `packages/ripple-binary-codec/tools/generateDefinitions.js`.
19
20
  *
20
21
  * See the definitions.test.js file for examples of how to create your own updated definitions.json.
21
22
  *
@@ -32,12 +33,28 @@ class XrplDefinitionsBase {
32
33
  this.transactionNames = Object.entries(enums.TRANSACTION_TYPES)
33
34
  .filter(([_key, value]) => value >= 0)
34
35
  .map(([key, _value]) => key);
35
- const ignoreList = ['EnableAmendment', 'SetFee', 'UNLModify', 'EmitFailure'];
36
- this.transactionMap = Object.assign({}, ...Object.entries(enums.TRANSACTION_TYPES)
37
- .filter(([_key, _value]) => _value >= 0 || ignoreList.includes(_key))
38
- .map(([key, value]) => ({ [key]: value })));
39
36
  this.dataTypes = {}; // Filled in via associateTypes
40
37
  this.associateTypes(types);
38
+ this.granularPermissions = {
39
+ TrustlineAuthorize: 65537,
40
+ TrustlineFreeze: 65538,
41
+ TrustlineUnfreeze: 65539,
42
+ AccountDomainSet: 65540,
43
+ AccountEmailHashSet: 65541,
44
+ AccountMessageKeySet: 65542,
45
+ AccountTransferRateSet: 65543,
46
+ AccountTickSizeSet: 65544,
47
+ PaymentMint: 65545,
48
+ PaymentBurn: 65546,
49
+ MPTokenIssuanceLock: 65547,
50
+ MPTokenIssuanceUnlock: 65548,
51
+ };
52
+ const incrementedTransactionTypes = Object.fromEntries(Object.entries(enums.TRANSACTION_TYPES).map(([key, value]) => [
53
+ key,
54
+ value + 1,
55
+ ]));
56
+ const combinedPermissions = Object.assign(Object.assign({}, this.granularPermissions), incrementedTransactionTypes);
57
+ this.delegatablePermissions = new bytes_1.BytesLookup(combinedPermissions, constants_1.DELEGATABLE_PERMISSIONS_WIDTH);
41
58
  }
42
59
  /**
43
60
  * Associates each Field to a corresponding class that TypeScript can recognize.
@@ -54,6 +71,9 @@ class XrplDefinitionsBase {
54
71
  this.field['TransactionType'].associatedType = this.transactionType;
55
72
  this.field['TransactionResult'].associatedType = this.transactionResult;
56
73
  this.field['LedgerEntryType'].associatedType = this.ledgerEntryType;
74
+ if (this.field['PermissionValue']) {
75
+ this.field['PermissionValue'].associatedType = this.delegatablePermissions;
76
+ }
57
77
  }
58
78
  getAssociatedTypes() {
59
79
  return this.dataTypes;
@@ -1 +1 @@
1
- {"version":3,"file":"xrpl-definitions-base.js","sourceRoot":"","sources":["../../src/enums/xrpl-definitions-base.ts"],"names":[],"mappings":";;;AACA,mCAA4C;AAuH1C,sFAvHO,aAAK,OAuHP;AACL,4FAxHc,mBAAW,OAwHd;AAvHb,mCAA+D;AAmH7D,4FAnHkB,mBAAW,OAmHlB;AAlHb,2CAKoB;AAUpB;;;GAGG;AACH,MAAM,mBAAmB;IAkBvB;;;;;;;;;;OAUG;IACH,YACE,KAAsB,EACtB,KAA4C;QAE5C,IAAI,CAAC,IAAI,GAAG,IAAI,mBAAW,CAAC,KAAK,CAAC,KAAK,EAAE,sBAAU,CAAC,CAAA;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,mBAAW,CACpC,KAAK,CAAC,kBAAkB,EACxB,8BAAkB,CACnB,CAAA;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,mBAAW,CACpC,KAAK,CAAC,iBAAiB,EACvB,kCAAsB,CACvB,CAAA;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,mBAAW,CACtC,KAAK,CAAC,mBAAmB,EACzB,oCAAwB,CACzB,CAAA;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,mBAAW,CAC1B,KAAK,CAAC,MAAoC,EAC1C,KAAK,CAAC,KAAK,CACZ,CAAA;QAED,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;aAC5D,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;QAE9B,MAAM,UAAU,GAAG,CAAC,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAA;QAC5E,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CACjC,EAAE,EACF,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;aAEvC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACpE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAC7C,CAAA;QAED,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA,CAAC,+BAA+B;QACnD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,KAA4C;QAChE,+DAA+D;QAC/D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAEzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1C,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAA;QACnE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAA;QACvE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAA;IACrE,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;CACF;AAIC,kDAAmB"}
1
+ {"version":3,"file":"xrpl-definitions-base.js","sourceRoot":"","sources":["../../src/enums/xrpl-definitions-base.ts"],"names":[],"mappings":";;;AACA,mCAA4C;AAkJ1C,sFAlJO,aAAK,OAkJP;AACL,4FAnJc,mBAAW,OAmJd;AAlJb,mCAA+D;AA8I7D,4FA9IkB,mBAAW,OA8IlB;AA7Ib,2CAMoB;AAUpB;;;GAGG;AACH,MAAM,mBAAmB;IAoBvB;;;;;;;;;;;OAWG;IACH,YACE,KAAsB,EACtB,KAA4C;QAE5C,IAAI,CAAC,IAAI,GAAG,IAAI,mBAAW,CAAC,KAAK,CAAC,KAAK,EAAE,sBAAU,CAAC,CAAA;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,mBAAW,CACpC,KAAK,CAAC,kBAAkB,EACxB,8BAAkB,CACnB,CAAA;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,mBAAW,CACpC,KAAK,CAAC,iBAAiB,EACvB,kCAAsB,CACvB,CAAA;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,mBAAW,CACtC,KAAK,CAAC,mBAAmB,EACzB,oCAAwB,CACzB,CAAA;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,mBAAW,CAC1B,KAAK,CAAC,MAAoC,EAC1C,KAAK,CAAC,KAAK,CACZ,CAAA;QACD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;aAC5D,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;QAE9B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA,CAAC,+BAA+B;QACnD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QAE1B,IAAI,CAAC,mBAAmB,GAAG;YACzB,kBAAkB,EAAE,KAAK;YACzB,eAAe,EAAE,KAAK;YACtB,iBAAiB,EAAE,KAAK;YACxB,gBAAgB,EAAE,KAAK;YACvB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;YAC7B,kBAAkB,EAAE,KAAK;YACzB,WAAW,EAAE,KAAK;YAClB,WAAW,EAAE,KAAK;YAClB,mBAAmB,EAAE,KAAK;YAC1B,qBAAqB,EAAE,KAAK;SAC7B,CAAA;QAED,MAAM,2BAA2B,GAAG,MAAM,CAAC,WAAW,CACpD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YAC5D,GAAG;YACH,KAAK,GAAG,CAAC;SACV,CAAC,CACH,CAAA;QACD,MAAM,mBAAmB,mCACpB,IAAI,CAAC,mBAAmB,GACxB,2BAA2B,CAC/B,CAAA;QACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,mBAAW,CAC3C,mBAAmB,EACnB,yCAA6B,CAC9B,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,KAA4C;QAChE,+DAA+D;QAC/D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAEzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1C,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAA;QACnE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAA;QACvE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAA;QACnE,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;YACjC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAA;SAC3E;IACH,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;CACF;AAIC,kDAAmB"}
@@ -9,7 +9,8 @@ export declare class XrplDefinitions extends XrplDefinitionsBase {
9
9
  /**
10
10
  * Present rippled types in a typed and updatable format.
11
11
  * For an example of the input format see `definitions.json`
12
- * To generate a new definitions file from rippled source code, use this tool: https://github.com/RichardAH/xrpl-codec-gen
12
+ * To generate a new definitions file from rippled source code, use the tool at
13
+ * `packages/ripple-binary-codec/tools/generateDefinitions.js`.
13
14
  *
14
15
  * See the definitions.test.js file for examples of how to create your own updated definitions.json.
15
16
  *
@@ -12,7 +12,8 @@ class XrplDefinitions extends xrpl_definitions_base_1.XrplDefinitionsBase {
12
12
  /**
13
13
  * Present rippled types in a typed and updatable format.
14
14
  * For an example of the input format see `definitions.json`
15
- * To generate a new definitions file from rippled source code, use this tool: https://github.com/RichardAH/xrpl-codec-gen
15
+ * To generate a new definitions file from rippled source code, use the tool at
16
+ * `packages/ripple-binary-codec/tools/generateDefinitions.js`.
16
17
  *
17
18
  * See the definitions.test.js file for examples of how to create your own updated definitions.json.
18
19
  *
@@ -1 +1 @@
1
- {"version":3,"file":"xrpl-definitions.js","sourceRoot":"","sources":["../../src/enums/xrpl-definitions.ts"],"names":[],"mappings":";;;AAAA,mEAGgC;AAChC,oCAAoC;AAGpC;;;;GAIG;AACH,MAAa,eAAgB,SAAQ,2CAAmB;IACtD;;;;;;;;;;OAUG;IACH,YACE,KAAsB,EACtB,eAAuD;QAEvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAS,EAAE,eAAe,CAAC,CAAA;QAC3D,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrB,CAAC;CACF;AAnBD,0CAmBC"}
1
+ {"version":3,"file":"xrpl-definitions.js","sourceRoot":"","sources":["../../src/enums/xrpl-definitions.ts"],"names":[],"mappings":";;;AAAA,mEAGgC;AAChC,oCAAoC;AAGpC;;;;GAIG;AACH,MAAa,eAAgB,SAAQ,2CAAmB;IACtD;;;;;;;;;;;OAWG;IACH,YACE,KAAsB,EACtB,eAAuD;QAEvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAS,EAAE,eAAe,CAAC,CAAA;QAC3D,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrB,CAAC;CACF;AApBD,0CAoBC"}
@@ -1,6 +1,5 @@
1
- import { Buffer } from 'buffer/';
2
1
  /**
3
2
  * Maps HashPrefix names to their byte representation
4
3
  */
5
- declare const HashPrefix: Record<string, Buffer>;
4
+ declare const HashPrefix: Record<string, Uint8Array>;
6
5
  export { HashPrefix };
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HashPrefix = void 0;
4
- const buffer_1 = require("buffer/");
4
+ const utils_1 = require("./utils");
5
5
  /**
6
- * Write a 32 bit integer to a Buffer
6
+ * Write a 32 bit integer to a Uint8Array
7
7
  *
8
- * @param uint32 32 bit integer to write to buffer
9
- * @returns a buffer with the bytes representation of uint32
8
+ * @param uint32 32 bit integer to write to Uint8Array
9
+ * @returns a Uint8Array with the bytes representation of uint32
10
10
  */
11
11
  function bytes(uint32) {
12
- const result = buffer_1.Buffer.alloc(4);
13
- result.writeUInt32BE(uint32, 0);
12
+ const result = new Uint8Array(4);
13
+ (0, utils_1.writeUInt32BE)(result, uint32, 0);
14
14
  return result;
15
15
  }
16
16
  /**
@@ -36,6 +36,8 @@ const HashPrefix = {
36
36
  proposal: bytes(0x50525000),
37
37
  // payment channel claim
38
38
  paymentChannelClaim: bytes(0x434c4d00),
39
+ // batch
40
+ batch: bytes(0x42434800),
39
41
  };
40
42
  exports.HashPrefix = HashPrefix;
41
43
  //# sourceMappingURL=hash-prefixes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hash-prefixes.js","sourceRoot":"","sources":["../src/hash-prefixes.ts"],"names":[],"mappings":";;;AAAA,oCAAgC;AAEhC;;;;;GAKG;AACH,SAAS,KAAK,CAAC,MAAc;IAC3B,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC/B,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAA2B;IACzC,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC;IAChC,4BAA4B;IAC5B,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC;IAC9B,gBAAgB;IAChB,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC;IACpC,qBAAqB;IACrB,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC;IAC5B,iCAAiC;IACjC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC;IAC/B,4BAA4B;IAC5B,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC;IACjC,4BAA4B;IAC5B,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC;IACtC,yBAAyB;IACzB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC;IAC7B,uBAAuB;IACvB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;IAC3B,wBAAwB;IACxB,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC;CACvC,CAAA;AAEQ,gCAAU"}
1
+ {"version":3,"file":"hash-prefixes.js","sourceRoot":"","sources":["../src/hash-prefixes.ts"],"names":[],"mappings":";;;AAAA,mCAAuC;AAEvC;;;;;GAKG;AACH,SAAS,KAAK,CAAC,MAAc;IAC3B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAChC,IAAA,qBAAa,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IAChC,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAA+B;IAC7C,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC;IAChC,4BAA4B;IAC5B,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC;IAC9B,gBAAgB;IAChB,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC;IACpC,qBAAqB;IACrB,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC;IAC5B,iCAAiC;IACjC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC;IAC/B,4BAA4B;IAC5B,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC;IACjC,4BAA4B;IAC5B,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC;IACtC,yBAAyB;IACzB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC;IAC7B,uBAAuB;IACvB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;IAC3B,wBAAwB;IACxB,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC;IACtC,QAAQ;IACR,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC;CACzB,CAAA;AAEQ,gCAAU"}
package/dist/hashes.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { Hash256 } from './types/hash-256';
1
+ import { Hash256 } from './types';
2
2
  import { BytesList } from './serdes/binary-serializer';
3
- import { Buffer } from 'buffer/';
4
3
  /**
5
4
  * Class for hashing with SHA512
6
5
  * @extends BytesList So SerializedTypes can write bytes to a Sha512Half
@@ -13,20 +12,20 @@ declare class Sha512Half extends BytesList {
13
12
  * @param bytes bytes to write to this.hash
14
13
  * @returns the new Sha512Hash object
15
14
  */
16
- static put(bytes: Buffer): Sha512Half;
15
+ static put(bytes: Uint8Array): Sha512Half;
17
16
  /**
18
17
  * Write bytes to an existing Sha512Hash
19
18
  *
20
19
  * @param bytes bytes to write to object
21
20
  * @returns the Sha512 object
22
21
  */
23
- put(bytes: Buffer): Sha512Half;
22
+ put(bytes: Uint8Array): Sha512Half;
24
23
  /**
25
24
  * Compute SHA512 hash and slice in half
26
25
  *
27
26
  * @returns half of a SHA512 hash
28
27
  */
29
- finish256(): Buffer;
28
+ finish256(): Uint8Array;
30
29
  /**
31
30
  * Constructs a Hash256 from the Sha512Half object
32
31
  *
@@ -40,12 +39,12 @@ declare class Sha512Half extends BytesList {
40
39
  * @param args zero or more arguments to hash
41
40
  * @returns the sha512half hash of the arguments.
42
41
  */
43
- declare function sha512Half(...args: Buffer[]): Buffer;
42
+ declare function sha512Half(...args: Uint8Array[]): Uint8Array;
44
43
  /**
45
44
  * Construct a transactionID from a Serialized Transaction
46
45
  *
47
46
  * @param serialized bytes to hash
48
47
  * @returns a Hash256 object
49
48
  */
50
- declare function transactionID(serialized: Buffer): Hash256;
49
+ declare function transactionID(serialized: Uint8Array): Hash256;
51
50
  export { Sha512Half, sha512Half, transactionID };
package/dist/hashes.js CHANGED
@@ -2,10 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.transactionID = exports.sha512Half = exports.Sha512Half = void 0;
4
4
  const hash_prefixes_1 = require("./hash-prefixes");
5
- const createHash = require("create-hash");
6
- const hash_256_1 = require("./types/hash-256");
5
+ const types_1 = require("./types");
7
6
  const binary_serializer_1 = require("./serdes/binary-serializer");
8
- const buffer_1 = require("buffer/");
7
+ const sha512_1 = require("@transia/isomorphic/sha512");
9
8
  /**
10
9
  * Class for hashing with SHA512
11
10
  * @extends BytesList So SerializedTypes can write bytes to a Sha512Half
@@ -13,7 +12,7 @@ const buffer_1 = require("buffer/");
13
12
  class Sha512Half extends binary_serializer_1.BytesList {
14
13
  constructor() {
15
14
  super(...arguments);
16
- this.hash = createHash('sha512');
15
+ this.hash = sha512_1.sha512.create();
17
16
  }
18
17
  /**
19
18
  * Construct a new Sha512Hash and write bytes this.hash
@@ -40,7 +39,7 @@ class Sha512Half extends binary_serializer_1.BytesList {
40
39
  * @returns half of a SHA512 hash
41
40
  */
42
41
  finish256() {
43
- return buffer_1.Buffer.from(this.hash.digest().slice(0, 32));
42
+ return Uint8Array.from(this.hash.digest().slice(0, 32));
44
43
  }
45
44
  /**
46
45
  * Constructs a Hash256 from the Sha512Half object
@@ -48,7 +47,7 @@ class Sha512Half extends binary_serializer_1.BytesList {
48
47
  * @returns a Hash256 object
49
48
  */
50
49
  finish() {
51
- return new hash_256_1.Hash256(this.finish256());
50
+ return new types_1.Hash256(this.finish256());
52
51
  }
53
52
  }
54
53
  exports.Sha512Half = Sha512Half;
@@ -71,7 +70,7 @@ exports.sha512Half = sha512Half;
71
70
  * @returns a Hash256 object
72
71
  */
73
72
  function transactionID(serialized) {
74
- return new hash_256_1.Hash256(sha512Half(hash_prefixes_1.HashPrefix.transactionID, serialized));
73
+ return new types_1.Hash256(sha512Half(hash_prefixes_1.HashPrefix.transactionID, serialized));
75
74
  }
76
75
  exports.transactionID = transactionID;
77
76
  //# sourceMappingURL=hashes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hashes.js","sourceRoot":"","sources":["../src/hashes.ts"],"names":[],"mappings":";;;AAAA,mDAA4C;AAC5C,0CAA0C;AAC1C,+CAA0C;AAC1C,kEAAsD;AACtD,oCAAgC;AAEhC;;;GAGG;AACH,MAAM,UAAW,SAAQ,6BAAS;IAAlC;;QACU,SAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAwCrC,CAAC;IAtCC;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,KAAa;QACtB,OAAO,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACpC,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACrD,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,IAAI,kBAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;IACtC,CAAC;CACF;AAwBQ,gCAAU;AAtBnB;;;;;GAKG;AACH,SAAS,UAAU,CAAC,GAAG,IAAc;IACnC,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAA;IAC7B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAA;AACzB,CAAC;AAYoB,gCAAU;AAV/B;;;;;GAKG;AACH,SAAS,aAAa,CAAC,UAAkB;IACvC,OAAO,IAAI,kBAAO,CAAC,UAAU,CAAC,0BAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAA;AACtE,CAAC;AAEgC,sCAAa"}
1
+ {"version":3,"file":"hashes.js","sourceRoot":"","sources":["../src/hashes.ts"],"names":[],"mappings":";;;AAAA,mDAA4C;AAC5C,mCAAiC;AACjC,kEAAsD;AACtD,uDAAmD;AAEnD;;;GAGG;AACH,MAAM,UAAW,SAAQ,6BAAS;IAAlC;;QACU,SAAI,GAAG,eAAM,CAAC,MAAM,EAAE,CAAA;IAwChC,CAAC;IAtCC;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,KAAiB;QAC1B,OAAO,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACpC,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAiB;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACzD,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,IAAI,eAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;IACtC,CAAC;CACF;AAwBQ,gCAAU;AAtBnB;;;;;GAKG;AACH,SAAS,UAAU,CAAC,GAAG,IAAkB;IACvC,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAA;IAC7B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAA;AACzB,CAAC;AAYoB,gCAAU;AAV/B;;;;;GAKG;AACH,SAAS,aAAa,CAAC,UAAsB;IAC3C,OAAO,IAAI,eAAO,CAAC,UAAU,CAAC,0BAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAA;AACtE,CAAC;AAEgC,sCAAa"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { decodeLedgerData } from './ledger-hashes';
2
2
  import { JsonObject } from './types/serialized-type';
3
- import { XrplDefinitionsBase, TRANSACTION_TYPES, TRANSACTION_TYPE_MAP, DEFAULT_DEFINITIONS } from './enums';
3
+ import { XrplDefinitionsBase, TRANSACTION_TYPES, DEFAULT_DEFINITIONS } from './enums';
4
4
  import { XrplDefinitions } from './enums/xrpl-definitions';
5
5
  import { coreTypes } from './types';
6
6
  /**
@@ -30,23 +30,28 @@ declare function encode(json: object, definitions?: XrplDefinitionsBase): string
30
30
  */
31
31
  declare function encodeForSigning(json: object, definitions?: XrplDefinitionsBase): string;
32
32
  /**
33
- * Encode a transaction and prepare for signing with a claim
33
+ * Encode a payment channel claim for signing.
34
34
  *
35
- * @param json JSON object representing the transaction
36
- * @param signer string representing the account to sign the transaction with
37
- * @param definitions Custom rippled types to use instead of the default. Used for sidechains and amendments.
38
- * @returns a hex string of the encoded transaction
35
+ * @param json JSON object representing the claim.
36
+ * @returns a hex string of the encoded claim.
39
37
  */
40
38
  declare function encodeForSigningClaim(json: object): string;
41
39
  /**
42
- * Encode a transaction and prepare for multi-signing
40
+ * Encode a transaction and prepare for multi-signing.
43
41
  *
44
- * @param json JSON object representing the transaction
45
- * @param signer string representing the account to sign the transaction with
42
+ * @param json JSON object representing the transaction.
43
+ * @param signer string representing the account to sign the transaction with.
46
44
  * @param definitions Custom rippled types to use instead of the default. Used for sidechains and amendments.
47
- * @returns a hex string of the encoded transaction
45
+ * @returns a hex string of the encoded transaction.
48
46
  */
49
47
  declare function encodeForMultisigning(json: object, signer: string, definitions?: XrplDefinitionsBase): string;
48
+ /**
49
+ * Encode a Batch transaction for signing.
50
+ *
51
+ * @param json JSON object representing the transaction.
52
+ * @returns a hex string of the encoded transaction.
53
+ */
54
+ declare function encodeForSigningBatch(json: object): string;
50
55
  /**
51
56
  * Encode a quality value
52
57
  *
@@ -61,4 +66,4 @@ declare function encodeQuality(value: string): string;
61
66
  * @returns a string representing the quality
62
67
  */
63
68
  declare function decodeQuality(value: string): string;
64
- export { decode, encode, encodeForSigning, encodeForSigningClaim, encodeForMultisigning, encodeQuality, decodeQuality, decodeLedgerData, TRANSACTION_TYPES, TRANSACTION_TYPE_MAP, XrplDefinitions, XrplDefinitionsBase, DEFAULT_DEFINITIONS, coreTypes, };
69
+ export { decode, encode, encodeForSigning, encodeForSigningClaim, encodeForMultisigning, encodeForSigningBatch, encodeQuality, decodeQuality, decodeLedgerData, TRANSACTION_TYPES, XrplDefinitions, XrplDefinitionsBase, DEFAULT_DEFINITIONS, coreTypes, };
package/dist/index.js CHANGED
@@ -1,43 +1,19 @@
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
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.coreTypes = exports.DEFAULT_DEFINITIONS = exports.XrplDefinitionsBase = exports.XrplDefinitions = exports.TRANSACTION_TYPE_MAP = exports.TRANSACTION_TYPES = exports.decodeLedgerData = exports.decodeQuality = exports.encodeQuality = exports.encodeForMultisigning = exports.encodeForSigningClaim = exports.encodeForSigning = exports.encode = exports.decode = void 0;
27
- const assert = __importStar(require("assert"));
3
+ exports.coreTypes = exports.DEFAULT_DEFINITIONS = exports.XrplDefinitionsBase = exports.XrplDefinitions = exports.TRANSACTION_TYPES = exports.decodeLedgerData = exports.decodeQuality = exports.encodeQuality = exports.encodeForSigningBatch = exports.encodeForMultisigning = exports.encodeForSigningClaim = exports.encodeForSigning = exports.encode = exports.decode = void 0;
28
4
  const coretypes_1 = require("./coretypes");
29
5
  const ledger_hashes_1 = require("./ledger-hashes");
30
6
  Object.defineProperty(exports, "decodeLedgerData", { enumerable: true, get: function () { return ledger_hashes_1.decodeLedgerData; } });
31
7
  const enums_1 = require("./enums");
32
8
  Object.defineProperty(exports, "XrplDefinitionsBase", { enumerable: true, get: function () { return enums_1.XrplDefinitionsBase; } });
33
9
  Object.defineProperty(exports, "TRANSACTION_TYPES", { enumerable: true, get: function () { return enums_1.TRANSACTION_TYPES; } });
34
- Object.defineProperty(exports, "TRANSACTION_TYPE_MAP", { enumerable: true, get: function () { return enums_1.TRANSACTION_TYPE_MAP; } });
35
10
  Object.defineProperty(exports, "DEFAULT_DEFINITIONS", { enumerable: true, get: function () { return enums_1.DEFAULT_DEFINITIONS; } });
36
11
  const xrpl_definitions_1 = require("./enums/xrpl-definitions");
37
12
  Object.defineProperty(exports, "XrplDefinitions", { enumerable: true, get: function () { return xrpl_definitions_1.XrplDefinitions; } });
38
13
  const types_1 = require("./types");
39
14
  Object.defineProperty(exports, "coreTypes", { enumerable: true, get: function () { return types_1.coreTypes; } });
40
- const { signingData, signingClaimData, multiSigningData, binaryToJSON, serializeObject, } = coretypes_1.binary;
15
+ const utils_1 = require("@transia/isomorphic/utils");
16
+ const { signingData, signingClaimData, multiSigningData, signingBatchData, binaryToJSON, serializeObject, } = coretypes_1.binary;
41
17
  /**
42
18
  * Decode a transaction
43
19
  *
@@ -46,7 +22,9 @@ const { signingData, signingClaimData, multiSigningData, binaryToJSON, serialize
46
22
  * @returns the JSON representation of the transaction
47
23
  */
48
24
  function decode(binary, definitions) {
49
- assert.ok(typeof binary === 'string', 'binary must be a hex string');
25
+ if (typeof binary !== 'string') {
26
+ throw new Error('binary must be a hex string');
27
+ }
50
28
  return binaryToJSON(binary, definitions);
51
29
  }
52
30
  exports.decode = decode;
@@ -59,10 +37,10 @@ exports.decode = decode;
59
37
  * @returns A hex-string of the encoded transaction
60
38
  */
61
39
  function encode(json, definitions) {
62
- assert.ok(typeof json === 'object');
63
- return serializeObject(json, { definitions })
64
- .toString('hex')
65
- .toUpperCase();
40
+ if (typeof json !== 'object') {
41
+ throw new Error();
42
+ }
43
+ return (0, utils_1.bytesToHex)(serializeObject(json, { definitions }));
66
44
  }
67
45
  exports.encode = encode;
68
46
  /**
@@ -74,46 +52,59 @@ exports.encode = encode;
74
52
  * @returns a hex string of the encoded transaction
75
53
  */
76
54
  function encodeForSigning(json, definitions) {
77
- assert.ok(typeof json === 'object');
78
- return signingData(json, coretypes_1.HashPrefix.transactionSig, {
55
+ if (typeof json !== 'object') {
56
+ throw new Error();
57
+ }
58
+ return (0, utils_1.bytesToHex)(signingData(json, coretypes_1.HashPrefix.transactionSig, {
79
59
  definitions,
80
- })
81
- .toString('hex')
82
- .toUpperCase();
60
+ }));
83
61
  }
84
62
  exports.encodeForSigning = encodeForSigning;
85
63
  /**
86
- * Encode a transaction and prepare for signing with a claim
64
+ * Encode a payment channel claim for signing.
87
65
  *
88
- * @param json JSON object representing the transaction
89
- * @param signer string representing the account to sign the transaction with
90
- * @param definitions Custom rippled types to use instead of the default. Used for sidechains and amendments.
91
- * @returns a hex string of the encoded transaction
66
+ * @param json JSON object representing the claim.
67
+ * @returns a hex string of the encoded claim.
92
68
  */
93
69
  function encodeForSigningClaim(json) {
94
- assert.ok(typeof json === 'object');
95
- return signingClaimData(json)
96
- .toString('hex')
97
- .toUpperCase();
70
+ if (typeof json !== 'object') {
71
+ throw new Error();
72
+ }
73
+ return (0, utils_1.bytesToHex)(signingClaimData(json));
98
74
  }
99
75
  exports.encodeForSigningClaim = encodeForSigningClaim;
100
76
  /**
101
- * Encode a transaction and prepare for multi-signing
77
+ * Encode a transaction and prepare for multi-signing.
102
78
  *
103
- * @param json JSON object representing the transaction
104
- * @param signer string representing the account to sign the transaction with
79
+ * @param json JSON object representing the transaction.
80
+ * @param signer string representing the account to sign the transaction with.
105
81
  * @param definitions Custom rippled types to use instead of the default. Used for sidechains and amendments.
106
- * @returns a hex string of the encoded transaction
82
+ * @returns a hex string of the encoded transaction.
107
83
  */
108
84
  function encodeForMultisigning(json, signer, definitions) {
109
- assert.ok(typeof json === 'object');
110
- assert.equal(json['SigningPubKey'], '');
85
+ if (typeof json !== 'object') {
86
+ throw new Error();
87
+ }
88
+ if (json['SigningPubKey'] !== '') {
89
+ throw new Error();
90
+ }
111
91
  const definitionsOpt = definitions ? { definitions } : undefined;
112
- return multiSigningData(json, signer, definitionsOpt)
113
- .toString('hex')
114
- .toUpperCase();
92
+ return (0, utils_1.bytesToHex)(multiSigningData(json, signer, definitionsOpt));
115
93
  }
116
94
  exports.encodeForMultisigning = encodeForMultisigning;
95
+ /**
96
+ * Encode a Batch transaction for signing.
97
+ *
98
+ * @param json JSON object representing the transaction.
99
+ * @returns a hex string of the encoded transaction.
100
+ */
101
+ function encodeForSigningBatch(json) {
102
+ if (typeof json !== 'object') {
103
+ throw new Error('Need an object to encode a Batch transaction');
104
+ }
105
+ return (0, utils_1.bytesToHex)(signingBatchData(json));
106
+ }
107
+ exports.encodeForSigningBatch = encodeForSigningBatch;
117
108
  /**
118
109
  * Encode a quality value
119
110
  *
@@ -121,8 +112,10 @@ exports.encodeForMultisigning = encodeForMultisigning;
121
112
  * @returns a hex-string representing the quality
122
113
  */
123
114
  function encodeQuality(value) {
124
- assert.ok(typeof value === 'string');
125
- return coretypes_1.quality.encode(value).toString('hex').toUpperCase();
115
+ if (typeof value !== 'string') {
116
+ throw new Error();
117
+ }
118
+ return (0, utils_1.bytesToHex)(coretypes_1.quality.encode(value));
126
119
  }
127
120
  exports.encodeQuality = encodeQuality;
128
121
  /**
@@ -132,7 +125,9 @@ exports.encodeQuality = encodeQuality;
132
125
  * @returns a string representing the quality
133
126
  */
134
127
  function decodeQuality(value) {
135
- assert.ok(typeof value === 'string');
128
+ if (typeof value !== 'string') {
129
+ throw new Error();
130
+ }
136
131
  return coretypes_1.quality.decode(value).toString();
137
132
  }
138
133
  exports.decodeQuality = decodeQuality;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { Hash256 } from './types/hash-256';
2
2
  import { JsonObject } from './types/serialized-type';
3
- import bigInt = require('big-integer');
4
3
  import { XrplDefinitionsBase } from './enums';
5
4
  /**
6
5
  * Function computing the hash of a transaction tree
@@ -21,7 +20,7 @@ declare function accountStateHash(param: Array<JsonObject>): Hash256;
21
20
  */
22
21
  interface ledgerObject {
23
22
  ledger_index: number;
24
- total_coins: string | number | bigInt.BigInteger;
23
+ total_coins: string | number | bigint;
25
24
  parent_hash: string;
26
25
  transaction_hash: string;
27
26
  account_hash: string;
@@ -1,30 +1,6 @@
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
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.decodeLedgerData = exports.ledgerHash = exports.transactionTreeHash = exports.accountStateHash = void 0;
27
- const assert = __importStar(require("assert"));
28
4
  const shamap_1 = require("./shamap");
29
5
  const hash_prefixes_1 = require("./hash-prefixes");
30
6
  const hashes_1 = require("./hashes");
@@ -35,7 +11,6 @@ const uint_64_1 = require("./types/uint-64");
35
11
  const uint_32_1 = require("./types/uint-32");
36
12
  const uint_8_1 = require("./types/uint-8");
37
13
  const binary_parser_1 = require("./serdes/binary-parser");
38
- const bigInt = require("big-integer");
39
14
  /**
40
15
  * Computes the hash of a list of objects
41
16
  *
@@ -55,7 +30,9 @@ function computeHash(itemizer, itemsJson) {
55
30
  * @returns a tuple of index and item to be added to SHAMap
56
31
  */
57
32
  function transactionItemizer(json) {
58
- assert.ok(json.hash);
33
+ if (!json.hash) {
34
+ throw new Error();
35
+ }
59
36
  const index = hash_256_1.Hash256.from(json.hash);
60
37
  const item = {
61
38
  hashPrefix() {
@@ -119,10 +96,12 @@ exports.accountStateHash = accountStateHash;
119
96
  function ledgerHash(header) {
120
97
  const hash = new hashes_1.Sha512Half();
121
98
  hash.put(hash_prefixes_1.HashPrefix.ledgerHeader);
122
- assert.ok(header.parent_close_time !== undefined);
123
- assert.ok(header.close_flags !== undefined);
99
+ if (header.parent_close_time === undefined ||
100
+ header.close_flags === undefined) {
101
+ throw new Error();
102
+ }
124
103
  uint_32_1.UInt32.from(header.ledger_index).toBytesSink(hash);
125
- uint_64_1.UInt64.from(bigInt(String(header.total_coins))).toBytesSink(hash);
104
+ uint_64_1.UInt64.from(BigInt(String(header.total_coins))).toBytesSink(hash);
126
105
  hash_256_1.Hash256.from(header.parent_hash).toBytesSink(hash);
127
106
  hash_256_1.Hash256.from(header.transaction_hash).toBytesSink(hash);
128
107
  hash_256_1.Hash256.from(header.account_hash).toBytesSink(hash);
@@ -142,7 +121,9 @@ exports.ledgerHash = ledgerHash;
142
121
  * @returns A JSON object describing a ledger header
143
122
  */
144
123
  function decodeLedgerData(binary, definitions) {
145
- assert.ok(typeof binary === 'string', 'binary must be a hex string');
124
+ if (typeof binary !== 'string') {
125
+ throw new Error('binary must be a hex string');
126
+ }
146
127
  const parser = new binary_parser_1.BinaryParser(binary, definitions);
147
128
  return {
148
129
  ledger_index: parser.readUInt32(),
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-hashes.js","sourceRoot":"","sources":["../src/ledger-hashes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger-hashes.js","sourceRoot":"","sources":["../src/ledger-hashes.ts"],"names":[],"mappings":"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"}