ripple-binary-codec 2.7.0-smartescrow.0 → 2.8.0-smartcontract.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 (210) hide show
  1. package/dist/enums/definitions.json +173 -270
  2. package/dist/enums/src/enums/definitions.json +173 -270
  3. package/dist/quality.js +15 -3
  4. package/dist/quality.js.map +1 -1
  5. package/dist/serdes/binary-parser.js +8 -2
  6. package/dist/serdes/binary-parser.js.map +1 -1
  7. package/dist/serdes/binary-serializer.d.ts +1 -1
  8. package/dist/serdes/binary-serializer.js +2 -2
  9. package/dist/serdes/binary-serializer.js.map +1 -1
  10. package/dist/src/enums/definitions.json +173 -270
  11. package/dist/src/quality.js +15 -3
  12. package/dist/src/quality.js.map +1 -1
  13. package/dist/src/serdes/binary-parser.js +8 -2
  14. package/dist/src/serdes/binary-parser.js.map +1 -1
  15. package/dist/src/serdes/binary-serializer.d.ts +1 -1
  16. package/dist/src/serdes/binary-serializer.js +2 -2
  17. package/dist/src/serdes/binary-serializer.js.map +1 -1
  18. package/dist/src/types/account-id.d.ts +2 -0
  19. package/dist/src/types/account-id.js +4 -0
  20. package/dist/src/types/account-id.js.map +1 -1
  21. package/dist/src/types/amount.d.ts +2 -1
  22. package/dist/src/types/amount.js +25 -4
  23. package/dist/src/types/amount.js.map +1 -1
  24. package/dist/src/types/blob.d.ts +2 -1
  25. package/dist/src/types/blob.js +3 -0
  26. package/dist/src/types/blob.js.map +1 -1
  27. package/dist/src/types/currency.d.ts +2 -0
  28. package/dist/src/types/currency.js +4 -0
  29. package/dist/src/types/currency.js.map +1 -1
  30. package/dist/src/types/data.d.ts +86 -0
  31. package/dist/src/types/data.js +252 -0
  32. package/dist/src/types/data.js.map +1 -0
  33. package/dist/src/types/dataType.d.ts +94 -0
  34. package/dist/src/types/dataType.js +145 -0
  35. package/dist/src/types/dataType.js.map +1 -0
  36. package/dist/src/types/hash-128.d.ts +2 -0
  37. package/dist/src/types/hash-128.js +4 -0
  38. package/dist/src/types/hash-128.js.map +1 -1
  39. package/dist/src/types/hash-160.d.ts +2 -0
  40. package/dist/src/types/hash-160.js +4 -0
  41. package/dist/src/types/hash-160.js.map +1 -1
  42. package/dist/src/types/hash-192.d.ts +2 -0
  43. package/dist/src/types/hash-192.js +4 -0
  44. package/dist/src/types/hash-192.js.map +1 -1
  45. package/dist/src/types/hash-256.d.ts +2 -0
  46. package/dist/src/types/hash-256.js +4 -0
  47. package/dist/src/types/hash-256.js.map +1 -1
  48. package/dist/src/types/index.d.ts +3 -1
  49. package/dist/src/types/index.js +7 -1
  50. package/dist/src/types/index.js.map +1 -1
  51. package/dist/src/types/int-32.d.ts +17 -8
  52. package/dist/src/types/int-32.js +25 -11
  53. package/dist/src/types/int-32.js.map +1 -1
  54. package/dist/src/types/int.d.ts +38 -0
  55. package/dist/src/types/int.js +57 -0
  56. package/dist/src/types/int.js.map +1 -0
  57. package/dist/src/types/issue.d.ts +2 -1
  58. package/dist/src/types/issue.js +3 -0
  59. package/dist/src/types/issue.js.map +1 -1
  60. package/dist/src/types/json.d.ts +173 -0
  61. package/dist/src/types/json.js +531 -0
  62. package/dist/src/types/json.js.map +1 -0
  63. package/dist/src/types/path-set.d.ts +2 -1
  64. package/dist/src/types/path-set.js +3 -0
  65. package/dist/src/types/path-set.js.map +1 -1
  66. package/dist/src/types/serialized-type.d.ts +43 -0
  67. package/dist/src/types/serialized-type.js +63 -1
  68. package/dist/src/types/serialized-type.js.map +1 -1
  69. package/dist/src/types/st-array.d.ts +2 -1
  70. package/dist/src/types/st-array.js +3 -0
  71. package/dist/src/types/st-array.js.map +1 -1
  72. package/dist/src/types/st-number.d.ts +2 -1
  73. package/dist/src/types/st-number.js +3 -0
  74. package/dist/src/types/st-number.js.map +1 -1
  75. package/dist/src/types/st-object.d.ts +2 -1
  76. package/dist/src/types/st-object.js +9 -1
  77. package/dist/src/types/st-object.js.map +1 -1
  78. package/dist/src/types/uint-16.d.ts +2 -0
  79. package/dist/src/types/uint-16.js +4 -0
  80. package/dist/src/types/uint-16.js.map +1 -1
  81. package/dist/src/types/uint-32.d.ts +2 -0
  82. package/dist/src/types/uint-32.js +4 -0
  83. package/dist/src/types/uint-32.js.map +1 -1
  84. package/dist/src/types/uint-64.d.ts +2 -0
  85. package/dist/src/types/uint-64.js +4 -0
  86. package/dist/src/types/uint-64.js.map +1 -1
  87. package/dist/src/types/uint-8.d.ts +2 -0
  88. package/dist/src/types/uint-8.js +4 -0
  89. package/dist/src/types/uint-8.js.map +1 -1
  90. package/dist/src/types/vector-256.d.ts +2 -1
  91. package/dist/src/types/vector-256.js +3 -0
  92. package/dist/src/types/vector-256.js.map +1 -1
  93. package/dist/src/types/xchain-bridge.d.ts +2 -1
  94. package/dist/src/types/xchain-bridge.js +3 -0
  95. package/dist/src/types/xchain-bridge.js.map +1 -1
  96. package/dist/src/utils.js +1 -1
  97. package/dist/src/utils.js.map +1 -1
  98. package/dist/tsconfig.tsbuildinfo +1 -1
  99. package/dist/types/account-id.d.ts +2 -0
  100. package/dist/types/account-id.js +4 -0
  101. package/dist/types/account-id.js.map +1 -1
  102. package/dist/types/amount.d.ts +2 -1
  103. package/dist/types/amount.js +25 -4
  104. package/dist/types/amount.js.map +1 -1
  105. package/dist/types/blob.d.ts +2 -1
  106. package/dist/types/blob.js +3 -0
  107. package/dist/types/blob.js.map +1 -1
  108. package/dist/types/currency.d.ts +2 -0
  109. package/dist/types/currency.js +4 -0
  110. package/dist/types/currency.js.map +1 -1
  111. package/dist/types/data.d.ts +86 -0
  112. package/dist/types/data.js +252 -0
  113. package/dist/types/data.js.map +1 -0
  114. package/dist/types/dataType.d.ts +94 -0
  115. package/dist/types/dataType.js +145 -0
  116. package/dist/types/dataType.js.map +1 -0
  117. package/dist/types/hash-128.d.ts +2 -0
  118. package/dist/types/hash-128.js +4 -0
  119. package/dist/types/hash-128.js.map +1 -1
  120. package/dist/types/hash-160.d.ts +2 -0
  121. package/dist/types/hash-160.js +4 -0
  122. package/dist/types/hash-160.js.map +1 -1
  123. package/dist/types/hash-192.d.ts +2 -0
  124. package/dist/types/hash-192.js +4 -0
  125. package/dist/types/hash-192.js.map +1 -1
  126. package/dist/types/hash-256.d.ts +2 -0
  127. package/dist/types/hash-256.js +4 -0
  128. package/dist/types/hash-256.js.map +1 -1
  129. package/dist/types/index.d.ts +3 -1
  130. package/dist/types/index.js +7 -1
  131. package/dist/types/index.js.map +1 -1
  132. package/dist/types/int-32.d.ts +17 -8
  133. package/dist/types/int-32.js +25 -11
  134. package/dist/types/int-32.js.map +1 -1
  135. package/dist/types/int.d.ts +38 -0
  136. package/dist/types/int.js +57 -0
  137. package/dist/types/int.js.map +1 -0
  138. package/dist/types/issue.d.ts +2 -1
  139. package/dist/types/issue.js +3 -0
  140. package/dist/types/issue.js.map +1 -1
  141. package/dist/types/json.d.ts +173 -0
  142. package/dist/types/json.js +531 -0
  143. package/dist/types/json.js.map +1 -0
  144. package/dist/types/path-set.d.ts +2 -1
  145. package/dist/types/path-set.js +3 -0
  146. package/dist/types/path-set.js.map +1 -1
  147. package/dist/types/serialized-type.d.ts +43 -0
  148. package/dist/types/serialized-type.js +63 -1
  149. package/dist/types/serialized-type.js.map +1 -1
  150. package/dist/types/st-array.d.ts +2 -1
  151. package/dist/types/st-array.js +3 -0
  152. package/dist/types/st-array.js.map +1 -1
  153. package/dist/types/st-number.d.ts +2 -1
  154. package/dist/types/st-number.js +3 -0
  155. package/dist/types/st-number.js.map +1 -1
  156. package/dist/types/st-object.d.ts +2 -1
  157. package/dist/types/st-object.js +9 -1
  158. package/dist/types/st-object.js.map +1 -1
  159. package/dist/types/uint-16.d.ts +2 -0
  160. package/dist/types/uint-16.js +4 -0
  161. package/dist/types/uint-16.js.map +1 -1
  162. package/dist/types/uint-32.d.ts +2 -0
  163. package/dist/types/uint-32.js +4 -0
  164. package/dist/types/uint-32.js.map +1 -1
  165. package/dist/types/uint-64.d.ts +2 -0
  166. package/dist/types/uint-64.js +4 -0
  167. package/dist/types/uint-64.js.map +1 -1
  168. package/dist/types/uint-8.d.ts +2 -0
  169. package/dist/types/uint-8.js +4 -0
  170. package/dist/types/uint-8.js.map +1 -1
  171. package/dist/types/vector-256.d.ts +2 -1
  172. package/dist/types/vector-256.js +3 -0
  173. package/dist/types/vector-256.js.map +1 -1
  174. package/dist/types/xchain-bridge.d.ts +2 -1
  175. package/dist/types/xchain-bridge.js +3 -0
  176. package/dist/types/xchain-bridge.js.map +1 -1
  177. package/dist/utils.js +1 -1
  178. package/dist/utils.js.map +1 -1
  179. package/package.json +2 -2
  180. package/src/enums/definitions.json +173 -270
  181. package/src/quality.ts +13 -3
  182. package/src/serdes/binary-parser.ts +12 -2
  183. package/src/serdes/binary-serializer.ts +2 -2
  184. package/src/types/account-id.ts +5 -0
  185. package/src/types/amount.ts +25 -6
  186. package/src/types/blob.ts +5 -1
  187. package/src/types/currency.ts +5 -0
  188. package/src/types/data.ts +294 -0
  189. package/src/types/dataType.ts +178 -0
  190. package/src/types/hash-128.ts +5 -0
  191. package/src/types/hash-160.ts +5 -0
  192. package/src/types/hash-192.ts +5 -0
  193. package/src/types/hash-256.ts +5 -0
  194. package/src/types/index.ts +6 -0
  195. package/src/types/int-32.ts +27 -12
  196. package/src/types/int.ts +75 -0
  197. package/src/types/issue.ts +5 -1
  198. package/src/types/json.ts +650 -0
  199. package/src/types/path-set.ts +5 -1
  200. package/src/types/serialized-type.ts +67 -0
  201. package/src/types/st-array.ts +5 -1
  202. package/src/types/st-number.ts +5 -1
  203. package/src/types/st-object.ts +12 -2
  204. package/src/types/uint-16.ts +5 -0
  205. package/src/types/uint-32.ts +5 -0
  206. package/src/types/uint-64.ts +6 -1
  207. package/src/types/uint-8.ts +5 -0
  208. package/src/types/vector-256.ts +5 -1
  209. package/src/types/xchain-bridge.ts +5 -1
  210. package/src/utils.ts +1 -1
@@ -0,0 +1,531 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STJson = void 0;
4
+ /* eslint-disable max-lines */
5
+ const binary_parser_1 = require("../serdes/binary-parser");
6
+ const serialized_type_1 = require("./serialized-type");
7
+ const utils_1 = require("@xrplf/isomorphic/utils");
8
+ const binary_serializer_1 = require("../serdes/binary-serializer");
9
+ /**
10
+ * STJson: Serialized Type for JSON-like structures (objects or arrays).
11
+ *
12
+ * Supports two modes:
13
+ * - Object: Key-value pairs where keys are VL-encoded strings
14
+ * - Array: Ordered list of values
15
+ *
16
+ * Values are [SType marker][VL-encoded SType serialization].
17
+ * Values can be any SType, including nested STJson.
18
+ *
19
+ * Serialization format: [type_byte][VL_length][data...]
20
+ * - type_byte: 0x00 = Object, 0x01 = Array
21
+ *
22
+ * Depth constraint: Maximum nesting depth of 1 level
23
+ */
24
+ class STJson extends serialized_type_1.SerializedType {
25
+ /**
26
+ * Construct STJson from bytes
27
+ * @param bytes - Uint8Array containing serialized JSON
28
+ */
29
+ constructor(bytes) {
30
+ super(bytes);
31
+ this.default_ = false;
32
+ this.data = new Map();
33
+ this.jsonType = STJson.JsonType.Object;
34
+ }
35
+ /**
36
+ * Create an empty STJson with the given type
37
+ */
38
+ static createEmpty(type, initialData) {
39
+ const json = new STJson(new Uint8Array());
40
+ json.data = initialData !== null && initialData !== void 0 ? initialData : (type === STJson.JsonType.Array ? [] : new Map());
41
+ json.jsonType = type;
42
+ return json;
43
+ }
44
+ /**
45
+ * Parse STJson from BinaryParser
46
+ *
47
+ * @param parser - BinaryParser positioned at the start of STJson
48
+ * @returns STJson instance
49
+ */
50
+ static fromParser(parser) {
51
+ const dataLength = parser.readVariableLengthLength();
52
+ if (dataLength < 0) {
53
+ throw new Error('Invalid STJson length');
54
+ }
55
+ if (dataLength === 0) {
56
+ const json = new STJson(new Uint8Array());
57
+ json.data = new Map();
58
+ return json;
59
+ }
60
+ // Read type byte
61
+ const typeByte = parser.read(1)[0];
62
+ const type = typeByte;
63
+ const initialBytesLeft = parser.size();
64
+ if (type === STJson.JsonType.Array) {
65
+ const array = [];
66
+ while (parser.size() > 0 &&
67
+ initialBytesLeft - parser.size() < dataLength) {
68
+ const valueVL = parser.readVariableLength();
69
+ if (valueVL.length > 0) {
70
+ const valueSit = new binary_parser_1.BinaryParser((0, utils_1.bytesToHex)(valueVL));
71
+ const value = STJson.makeValueFromVLWithType(valueSit);
72
+ array.push(value);
73
+ }
74
+ else {
75
+ array.push(null);
76
+ }
77
+ }
78
+ const json = new STJson(new Uint8Array());
79
+ json.data = array;
80
+ json.jsonType = STJson.JsonType.Array;
81
+ return json;
82
+ }
83
+ else {
84
+ // JsonType.Object
85
+ const map = new Map();
86
+ while (parser.size() > 0 &&
87
+ initialBytesLeft - parser.size() < dataLength) {
88
+ const [key, value] = STJson.parsePair(parser);
89
+ map.set(key, value);
90
+ }
91
+ const json = new STJson(new Uint8Array());
92
+ json.data = map;
93
+ json.jsonType = STJson.JsonType.Object;
94
+ return json;
95
+ }
96
+ }
97
+ /**
98
+ * Parse a single key-value pair from the parser
99
+ */
100
+ static parsePair(parser) {
101
+ const keyVL = parser.readVariableLength();
102
+ const key = new TextDecoder().decode(keyVL);
103
+ const valueVL = parser.readVariableLength();
104
+ let value = null;
105
+ if (valueVL.length > 0) {
106
+ const valueSit = new binary_parser_1.BinaryParser((0, utils_1.bytesToHex)(valueVL));
107
+ value = STJson.makeValueFromVLWithType(valueSit);
108
+ }
109
+ return [key, value];
110
+ }
111
+ /**
112
+ * Factory for SType value from VL blob (with SType marker)
113
+ */
114
+ static makeValueFromVLWithType(parser) {
115
+ if (parser.size() === 0) {
116
+ throw new Error('Empty data when parsing STJson value');
117
+ }
118
+ const typeId = parser.read(1)[0];
119
+ // Delegate to appropriate type's fromParser
120
+ // This is a placeholder - actual implementation would dispatch to concrete types
121
+ // For now, we create an STJson if type is Object or Array
122
+ if (typeId === STJson.JsonType.Object || typeId === STJson.JsonType.Array) {
123
+ return STJson.fromParser(parser);
124
+ }
125
+ throw new Error(`Unsupported type ID in STJson: ${typeId}`);
126
+ }
127
+ /**
128
+ * Check if this is an array type
129
+ */
130
+ isArray() {
131
+ return this.jsonType === STJson.JsonType.Array;
132
+ }
133
+ /**
134
+ * Check if this is an object type
135
+ */
136
+ isObject() {
137
+ return this.jsonType === STJson.JsonType.Object;
138
+ }
139
+ /**
140
+ * Get the JSON type
141
+ */
142
+ getType() {
143
+ return this.jsonType;
144
+ }
145
+ /**
146
+ * Get nesting depth (0 = no nesting, 1 = one level of nesting)
147
+ */
148
+ getDepth() {
149
+ if (this.isArray()) {
150
+ const array = this.data;
151
+ for (const value of array) {
152
+ if (value && value instanceof STJson) {
153
+ return 1 + value.getDepth();
154
+ }
155
+ }
156
+ return 0;
157
+ }
158
+ else {
159
+ // isObject()
160
+ const map = this.data;
161
+ for (const value of map.values()) {
162
+ if (value && value instanceof STJson) {
163
+ return 1 + value.getDepth();
164
+ }
165
+ }
166
+ return 0;
167
+ }
168
+ }
169
+ /**
170
+ * Validate nesting depth (max 1 level)
171
+ */
172
+ validateDepth(value, currentDepth) {
173
+ if (!value) {
174
+ return;
175
+ }
176
+ if (!(value instanceof STJson)) {
177
+ return;
178
+ }
179
+ const valueDepth = value.getDepth();
180
+ if (currentDepth + valueDepth > 1) {
181
+ throw new Error('STJson nesting depth exceeds maximum of 1');
182
+ }
183
+ }
184
+ /**
185
+ * Set a field in an object
186
+ */
187
+ setObjectField(key, value) {
188
+ if (!this.isObject()) {
189
+ throw new Error('STJson::setObjectField called on non-object');
190
+ }
191
+ this.validateDepth(value, 0);
192
+ this.data.set(key, value);
193
+ }
194
+ /**
195
+ * Get a field from an object
196
+ */
197
+ getObjectField(key) {
198
+ if (!this.isObject()) {
199
+ return undefined;
200
+ }
201
+ return this.data.get(key);
202
+ }
203
+ /**
204
+ * Set a nested object field (one level deep)
205
+ */
206
+ setNestedObjectField(key, nestedKey, value) {
207
+ if (!this.isObject()) {
208
+ throw new Error('STJson::setNestedObjectField called on non-object');
209
+ }
210
+ const map = this.data;
211
+ let nestedObj = map.get(key);
212
+ if (!nestedObj || !(nestedObj instanceof STJson) || !nestedObj.isObject()) {
213
+ const newNested = STJson.createEmpty(STJson.JsonType.Object);
214
+ map.set(key, newNested);
215
+ nestedObj = newNested;
216
+ }
217
+ if (nestedObj instanceof STJson) {
218
+ nestedObj.setObjectField(nestedKey, value);
219
+ }
220
+ }
221
+ /**
222
+ * Get a nested object field
223
+ */
224
+ getNestedObjectField(key, nestedKey) {
225
+ if (!this.isObject()) {
226
+ return undefined;
227
+ }
228
+ const nestedObj = this.data.get(key);
229
+ if (nestedObj instanceof STJson && nestedObj.isObject()) {
230
+ return nestedObj.getObjectField(nestedKey);
231
+ }
232
+ return undefined;
233
+ }
234
+ /**
235
+ * Get the inner data as a Map (for objects)
236
+ */
237
+ getMap() {
238
+ if (!this.isObject()) {
239
+ throw new Error('STJson is not an object type');
240
+ }
241
+ return this.data;
242
+ }
243
+ /**
244
+ * Get the inner data as an array
245
+ */
246
+ getArray() {
247
+ if (!this.isArray()) {
248
+ throw new Error('STJson is not an array type');
249
+ }
250
+ return this.data;
251
+ }
252
+ /**
253
+ * Push an element to an array
254
+ */
255
+ pushArrayElement(value) {
256
+ if (!this.isArray()) {
257
+ throw new Error('STJson::pushArrayElement called on non-array');
258
+ }
259
+ this.validateDepth(value, 0);
260
+ this.data.push(value);
261
+ }
262
+ /**
263
+ * Get an array element by index
264
+ */
265
+ getArrayElement(index) {
266
+ if (!this.isArray()) {
267
+ return undefined;
268
+ }
269
+ const array = this.data;
270
+ return array[index];
271
+ }
272
+ /**
273
+ * Set an array element by index
274
+ */
275
+ setArrayElement(index, value) {
276
+ if (!this.isArray()) {
277
+ throw new Error('STJson::setArrayElement called on non-array');
278
+ }
279
+ this.validateDepth(value, 0);
280
+ const array = this.data;
281
+ // Auto-resize with nulls if needed
282
+ if (index >= array.length) {
283
+ array.length = index + 1;
284
+ array.fill(null);
285
+ }
286
+ array[index] = value;
287
+ }
288
+ /**
289
+ * Set a field within an array element (element must be an object)
290
+ */
291
+ setArrayElementField(index, key, value) {
292
+ if (!this.isArray()) {
293
+ throw new Error('STJson::setArrayElementField called on non-array');
294
+ }
295
+ this.validateDepth(value, 1);
296
+ const array = this.data;
297
+ // Auto-resize with nulls if needed
298
+ if (index >= array.length) {
299
+ array.length = index + 1;
300
+ array.fill(null);
301
+ }
302
+ let element = array[index];
303
+ if (!element || !(element instanceof STJson) || !element.isObject()) {
304
+ const newElement = STJson.createEmpty(STJson.JsonType.Object);
305
+ array[index] = newElement;
306
+ element = newElement;
307
+ }
308
+ if (element instanceof STJson) {
309
+ element.setObjectField(key, value);
310
+ }
311
+ }
312
+ /**
313
+ * Get a field within an array element
314
+ */
315
+ getArrayElementField(index, key) {
316
+ if (!this.isArray()) {
317
+ return undefined;
318
+ }
319
+ const array = this.data;
320
+ if (index >= array.length) {
321
+ return undefined;
322
+ }
323
+ const element = array[index];
324
+ if (element instanceof STJson && element.isObject()) {
325
+ return element.getObjectField(key);
326
+ }
327
+ return undefined;
328
+ }
329
+ /**
330
+ * Get the size of the array
331
+ */
332
+ arraySize() {
333
+ if (!this.isArray()) {
334
+ return 0;
335
+ }
336
+ return this.data.length;
337
+ }
338
+ /**
339
+ * Set a nested array element (array stored in object field)
340
+ */
341
+ setNestedArrayElement(key, index, value) {
342
+ if (!this.isObject()) {
343
+ throw new Error('STJson::setNestedArrayElement called on non-object');
344
+ }
345
+ this.validateDepth(value, 1);
346
+ const map = this.data;
347
+ let arrayJson = map.get(key);
348
+ if (!arrayJson || !(arrayJson instanceof STJson) || !arrayJson.isArray()) {
349
+ const newArray = STJson.createEmpty(STJson.JsonType.Array);
350
+ map.set(key, newArray);
351
+ arrayJson = newArray;
352
+ }
353
+ if (arrayJson instanceof STJson) {
354
+ arrayJson.setArrayElement(index, value);
355
+ }
356
+ }
357
+ /**
358
+ * Set a field within a nested array element
359
+ */
360
+ // eslint-disable-next-line max-params -- all 4 params are needed to address a nested array element field
361
+ setNestedArrayElementField(key, index, nestedKey, value) {
362
+ if (!this.isObject()) {
363
+ throw new Error('STJson::setNestedArrayElementField called on non-object');
364
+ }
365
+ this.validateDepth(value, 1);
366
+ const map = this.data;
367
+ let arrayJson = map.get(key);
368
+ if (!arrayJson || !(arrayJson instanceof STJson) || !arrayJson.isArray()) {
369
+ const newArray = STJson.createEmpty(STJson.JsonType.Array);
370
+ map.set(key, newArray);
371
+ arrayJson = newArray;
372
+ }
373
+ if (arrayJson instanceof STJson) {
374
+ arrayJson.setArrayElementField(index, nestedKey, value);
375
+ }
376
+ }
377
+ /**
378
+ * Get a nested array element
379
+ */
380
+ getNestedArrayElement(key, index) {
381
+ if (!this.isObject()) {
382
+ return undefined;
383
+ }
384
+ const arrayJson = this.data.get(key);
385
+ if (arrayJson instanceof STJson && arrayJson.isArray()) {
386
+ return arrayJson.getArrayElement(index);
387
+ }
388
+ return undefined;
389
+ }
390
+ /**
391
+ * Get a field within a nested array element
392
+ */
393
+ getNestedArrayElementField(key, index, nestedKey) {
394
+ if (!this.isObject()) {
395
+ return undefined;
396
+ }
397
+ const arrayJson = this.data.get(key);
398
+ if (arrayJson instanceof STJson && arrayJson.isArray()) {
399
+ return arrayJson.getArrayElementField(index, nestedKey);
400
+ }
401
+ return undefined;
402
+ }
403
+ /**
404
+ * Serialize to binary
405
+ */
406
+ add(s) {
407
+ const bytesList = new binary_serializer_1.BytesList();
408
+ const tmp = new binary_serializer_1.BinarySerializer(bytesList);
409
+ // Add type byte
410
+ tmp.put(new Uint8Array([this.jsonType]));
411
+ if (this.isArray()) {
412
+ const array = this.data;
413
+ for (const value of array) {
414
+ STJson.addVLValue(tmp, value);
415
+ }
416
+ }
417
+ else {
418
+ // isObject()
419
+ const map = this.data;
420
+ for (const [key, value] of map.entries()) {
421
+ STJson.addVLKey(tmp, key);
422
+ STJson.addVLValue(tmp, value);
423
+ }
424
+ }
425
+ const innerBytes = bytesList.toBytes();
426
+ const lengthBytes = binary_serializer_1.BinarySerializer.encodeVariableLength(innerBytes.length);
427
+ s.put(lengthBytes);
428
+ s.put(innerBytes);
429
+ }
430
+ /**
431
+ * Encode a key as VL
432
+ */
433
+ static addVLKey(s, str) {
434
+ const keyBytes = new TextEncoder().encode(str);
435
+ const lengthBytes = binary_serializer_1.BinarySerializer.encodeVariableLength(keyBytes.length);
436
+ s.put(lengthBytes);
437
+ s.put(keyBytes);
438
+ }
439
+ /**
440
+ * Encode a value as [SType marker][VL]
441
+ */
442
+ static addVLValue(s, value) {
443
+ if (!value) {
444
+ s.put(binary_serializer_1.BinarySerializer.encodeVariableLength(0));
445
+ return;
446
+ }
447
+ const bytesList = new binary_serializer_1.BytesList();
448
+ const tmp = new binary_serializer_1.BinarySerializer(bytesList);
449
+ tmp.put(new Uint8Array([value.getSType()]));
450
+ value.toBytesSink(bytesList);
451
+ const innerBytes = bytesList.toBytes();
452
+ const lengthBytes = binary_serializer_1.BinarySerializer.encodeVariableLength(innerBytes.length);
453
+ s.put(lengthBytes);
454
+ s.put(innerBytes);
455
+ }
456
+ /**
457
+ * Convert to JSON representation
458
+ */
459
+ toJSON() {
460
+ if (this.isArray()) {
461
+ const array = this.data;
462
+ return array.map((item) => {
463
+ return item ? item.toJSON() : null;
464
+ });
465
+ }
466
+ else {
467
+ // isObject()
468
+ const map = this.data;
469
+ const result = {};
470
+ for (const [key, value] of map.entries()) {
471
+ result[key] = value ? value.toJSON() : null;
472
+ }
473
+ return result;
474
+ }
475
+ }
476
+ /**
477
+ * Compare with another STJson for equivalence
478
+ */
479
+ isEquivalent(t) {
480
+ if (!(t instanceof STJson)) {
481
+ return false;
482
+ }
483
+ return (0, utils_1.bytesToHex)(this.bytes) === (0, utils_1.bytesToHex)(t.bytes);
484
+ }
485
+ /**
486
+ * Check if this is the default value
487
+ */
488
+ isDefault() {
489
+ return this.default_;
490
+ }
491
+ /**
492
+ * Get blob representation
493
+ */
494
+ toBlob() {
495
+ const bytesList = new binary_serializer_1.BytesList();
496
+ const s = new binary_serializer_1.BinarySerializer(bytesList);
497
+ this.add(s);
498
+ return bytesList.toBytes();
499
+ }
500
+ /**
501
+ * Get the size (number of bytes in serialized form)
502
+ */
503
+ size() {
504
+ const bytesList = new binary_serializer_1.BytesList();
505
+ const s = new binary_serializer_1.BinarySerializer(bytesList);
506
+ this.add(s);
507
+ return bytesList.getLength();
508
+ }
509
+ /**
510
+ * Set the value from another STJson
511
+ */
512
+ setValue(v) {
513
+ if (!(v instanceof STJson)) {
514
+ throw new Error('setValue: value must be STJson');
515
+ }
516
+ this.data = v.data;
517
+ this.jsonType = v.jsonType;
518
+ }
519
+ /**
520
+ * Get serialized type ID
521
+ */
522
+ getSType() {
523
+ return serialized_type_1.SerializedTypeID.STI_JSON;
524
+ }
525
+ }
526
+ exports.STJson = STJson;
527
+ STJson.JsonType = {
528
+ Object: 0x00,
529
+ Array: 0x01,
530
+ };
531
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/types/json.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { BinaryParser } from '../serdes/binary-parser';
2
- import { SerializedType, JsonObject } from './serialized-type';
2
+ import { SerializedType, JsonObject, SerializedTypeID } from './serialized-type';
3
3
  /**
4
4
  * The object representation of a Hop, an issuer AccountID, an account AccountID, and a Currency
5
5
  */
@@ -32,5 +32,6 @@ declare class PathSet extends SerializedType {
32
32
  * @returns an Array of Array of HopObjects, representing this PathSet
33
33
  */
34
34
  toJSON(): Array<Array<HopObject>>;
35
+ getSType(): SerializedTypeID;
35
36
  }
36
37
  export { PathSet };
@@ -228,6 +228,9 @@ class PathSet extends serialized_type_1.SerializedType {
228
228
  }
229
229
  return json;
230
230
  }
231
+ getSType() {
232
+ return serialized_type_1.SerializedTypeID.STI_PATHSET;
233
+ }
231
234
  }
232
235
  exports.PathSet = PathSet;
233
236
  //# sourceMappingURL=path-set.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"path-set.js","sourceRoot":"","sources":["../../src/types/path-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-set.js","sourceRoot":"","sources":["../../src/types/path-set.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,48 @@
1
1
  import { BytesList } from '../serdes/binary-serializer';
2
2
  import { BinaryParser } from '../serdes/binary-parser';
3
3
  import { XrplDefinitionsBase } from '../enums';
4
+ /**
5
+ * Enum for SerializedTypeID values used in XRPL
6
+ * These match the C++ implementation's STI_ constants
7
+ */
8
+ export declare enum SerializedTypeID {
9
+ STI_NOTPRESENT = 0,
10
+ STI_UINT16 = 1,
11
+ STI_UINT32 = 2,
12
+ STI_UINT64 = 3,
13
+ STI_UINT128 = 4,
14
+ STI_UINT256 = 5,
15
+ STI_AMOUNT = 6,
16
+ STI_VL = 7,
17
+ STI_ACCOUNT = 8,
18
+ STI_NUMBER = 9,
19
+ STI_INT32 = 10,
20
+ STI_INT64 = 11,
21
+ STI_OBJECT = 14,
22
+ STI_ARRAY = 15,
23
+ STI_UINT8 = 16,
24
+ STI_UINT160 = 17,
25
+ STI_PATHSET = 18,
26
+ STI_VECTOR256 = 19,
27
+ STI_UINT96 = 20,
28
+ STI_UINT192 = 21,
29
+ STI_UINT384 = 22,
30
+ STI_UINT512 = 23,
31
+ STI_ISSUE = 24,
32
+ STI_XCHAIN_BRIDGE = 25,
33
+ STI_CURRENCY = 26,
34
+ STI_DATA = 27,
35
+ STI_DATATYPE = 28,
36
+ STI_JSON = 29
37
+ }
38
+ /**
39
+ * Maps built dynamically from definitions.json TYPES.
40
+ * This ensures type string names (e.g. "Hash256", "Hash128") stay in sync
41
+ * with the canonical definitions rather than using hardcoded uppercase variants.
42
+ */
43
+ export declare const TYPE_STRING_TO_ID: Record<string, SerializedTypeID>;
44
+ export declare const TYPE_NUMBER_TO_ID: Record<number, SerializedTypeID>;
45
+ export declare const TYPE_ID_TO_STRING: Record<number, string>;
4
46
  type JSON = string | number | boolean | null | undefined | JSON[] | JsonObject;
5
47
  type JsonObject = {
6
48
  [key: string]: JSON;
@@ -44,6 +86,7 @@ declare class SerializedType {
44
86
  * @returns hexString representation of this.bytes
45
87
  */
46
88
  toString(): string;
89
+ getSType(): SerializedTypeID;
47
90
  }
48
91
  /**
49
92
  * Base class for SerializedTypes that are comparable.