ripple-binary-codec 2.3.0 → 2.4.0-smartescrow.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.
@@ -670,6 +670,26 @@
670
670
  "type": "UInt32"
671
671
  }
672
672
  ],
673
+ [
674
+ "ExtensionComputeLimit",
675
+ {
676
+ "isSerialized": true,
677
+ "isSigningField": true,
678
+ "isVLEncoded": false,
679
+ "nth": 52,
680
+ "type": "UInt32"
681
+ }
682
+ ],
683
+ [
684
+ "ExtensionSizeLimit",
685
+ {
686
+ "isSerialized": true,
687
+ "isSigningField": true,
688
+ "isVLEncoded": false,
689
+ "nth": 53,
690
+ "type": "UInt32"
691
+ }
692
+ ],
673
693
  [
674
694
  "IndexNext",
675
695
  {
@@ -913,20 +933,20 @@
913
933
  [
914
934
  "IssuerNode",
915
935
  {
916
- "nth": 27,
917
- "isVLEncoded": false,
918
936
  "isSerialized": true,
919
937
  "isSigningField": true,
938
+ "isVLEncoded": false,
939
+ "nth": 27,
920
940
  "type": "UInt64"
921
941
  }
922
942
  ],
923
943
  [
924
944
  "SubjectNode",
925
945
  {
926
- "nth": 28,
927
- "isVLEncoded": false,
928
946
  "isSerialized": true,
929
947
  "isSigningField": true,
948
+ "isVLEncoded": false,
949
+ "nth": 28,
930
950
  "type": "UInt64"
931
951
  }
932
952
  ],
@@ -1253,10 +1273,10 @@
1253
1273
  [
1254
1274
  "DomainID",
1255
1275
  {
1256
- "nth": 34,
1257
- "isVLEncoded": false,
1258
1276
  "isSerialized": true,
1259
1277
  "isSigningField": true,
1278
+ "isVLEncoded": false,
1279
+ "nth": 34,
1260
1280
  "type": "Hash256"
1261
1281
  }
1262
1282
  ],
@@ -1843,10 +1863,20 @@
1843
1863
  [
1844
1864
  "CredentialType",
1845
1865
  {
1846
- "nth": 31,
1866
+ "isSerialized": true,
1867
+ "isSigningField": true,
1847
1868
  "isVLEncoded": true,
1869
+ "nth": 31,
1870
+ "type": "Blob"
1871
+ }
1872
+ ],
1873
+ [
1874
+ "FinishFunction",
1875
+ {
1848
1876
  "isSerialized": true,
1849
1877
  "isSigningField": true,
1878
+ "isVLEncoded": true,
1879
+ "nth": 32,
1850
1880
  "type": "Blob"
1851
1881
  }
1852
1882
  ],
@@ -2023,13 +2053,23 @@
2023
2053
  [
2024
2054
  "Subject",
2025
2055
  {
2026
- "nth": 24,
2027
- "isVLEncoded": true,
2028
2056
  "isSerialized": true,
2029
2057
  "isSigningField": true,
2058
+ "isVLEncoded": true,
2059
+ "nth": 24,
2030
2060
  "type": "AccountID"
2031
2061
  }
2032
2062
  ],
2063
+ [
2064
+ "Number",
2065
+ {
2066
+ "isSerialized": true,
2067
+ "isSigningField": true,
2068
+ "isVLEncoded": false,
2069
+ "nth": 1,
2070
+ "type": "Number"
2071
+ }
2072
+ ],
2033
2073
  [
2034
2074
  "TransactionMetaData",
2035
2075
  {
@@ -2323,10 +2363,10 @@
2323
2363
  [
2324
2364
  "Credential",
2325
2365
  {
2326
- "nth": 33,
2327
- "isVLEncoded": false,
2328
2366
  "isSerialized": true,
2329
2367
  "isSigningField": true,
2368
+ "isVLEncoded": false,
2369
+ "nth": 33,
2330
2370
  "type": "STObject"
2331
2371
  }
2332
2372
  ],
@@ -2523,29 +2563,30 @@
2523
2563
  [
2524
2564
  "AuthorizeCredentials",
2525
2565
  {
2526
- "nth": 26,
2527
- "isVLEncoded": false,
2528
2566
  "isSerialized": true,
2529
2567
  "isSigningField": true,
2568
+ "isVLEncoded": false,
2569
+ "nth": 26,
2530
2570
  "type": "STArray"
2531
2571
  }
2532
2572
  ],
2533
2573
  [
2534
2574
  "UnauthorizeCredentials",
2535
2575
  {
2536
- "nth": 27,
2537
- "isVLEncoded": false,
2538
2576
  "isSerialized": true,
2539
2577
  "isSigningField": true,
2578
+ "isVLEncoded": false,
2579
+ "nth": 27,
2540
2580
  "type": "STArray"
2541
2581
  }
2542
2582
  ],
2543
2583
  [
2544
- "AcceptedCredentials", {
2545
- "nth": 28,
2546
- "isVLEncoded": false,
2584
+ "AcceptedCredentials",
2585
+ {
2547
2586
  "isSerialized": true,
2548
2587
  "isSigningField": true,
2588
+ "isVLEncoded": false,
2589
+ "nth": 28,
2549
2590
  "type": "STArray"
2550
2591
  }
2551
2592
  ],
@@ -2732,10 +2773,10 @@
2732
2773
  [
2733
2774
  "CredentialIDs",
2734
2775
  {
2735
- "nth": 5,
2736
- "isVLEncoded": true,
2737
2776
  "isSerialized": true,
2738
2777
  "isSigningField": true,
2778
+ "isVLEncoded": true,
2779
+ "nth": 5,
2739
2780
  "type": "Vector256"
2740
2781
  }
2741
2782
  ],
@@ -2866,6 +2907,7 @@
2866
2907
  "Amendments": 102,
2867
2908
  "Bridge": 105,
2868
2909
  "Check": 67,
2910
+ "Credential": 129,
2869
2911
  "DID": 73,
2870
2912
  "DepositPreauth": 112,
2871
2913
  "DirectoryNode": 100,
@@ -2880,7 +2922,6 @@
2880
2922
  "NegativeUNL": 78,
2881
2923
  "Offer": 111,
2882
2924
  "Oracle": 128,
2883
- "Credential": 129,
2884
2925
  "PayChannel": 120,
2885
2926
  "PermissionedDomain": 130,
2886
2927
  "RippleState": 114,
@@ -2910,6 +2951,7 @@
2910
2951
  "tecFAILED_PROCESSING": 105,
2911
2952
  "tecFROZEN": 137,
2912
2953
  "tecHAS_OBLIGATIONS": 151,
2954
+ "tecHOOK_REJECTED": 153,
2913
2955
  "tecINCOMPLETE": 169,
2914
2956
  "tecINSUFFICIENT_FUNDS": 159,
2915
2957
  "tecINSUFFICIENT_PAYMENT": 161,
@@ -2951,6 +2993,7 @@
2951
2993
  "tecUNFUNDED_AMM": 162,
2952
2994
  "tecUNFUNDED_OFFER": 103,
2953
2995
  "tecUNFUNDED_PAYMENT": 104,
2996
+ "tecWASM_REJECTED": 194,
2954
2997
  "tecXCHAIN_ACCOUNT_CREATE_PAST": 181,
2955
2998
  "tecXCHAIN_ACCOUNT_CREATE_TOO_MANY": 182,
2956
2999
  "tecXCHAIN_BAD_CLAIM_ID": 172,
@@ -3085,8 +3128,8 @@
3085
3128
  "CheckCash": 17,
3086
3129
  "CheckCreate": 16,
3087
3130
  "Clawback": 30,
3088
- "CredentialCreate": 58,
3089
3131
  "CredentialAccept": 59,
3132
+ "CredentialCreate": 58,
3090
3133
  "CredentialDelete": 60,
3091
3134
  "DIDDelete": 50,
3092
3135
  "DIDSet": 49,
@@ -3115,8 +3158,8 @@
3115
3158
  "PaymentChannelClaim": 15,
3116
3159
  "PaymentChannelCreate": 13,
3117
3160
  "PaymentChannelFund": 14,
3118
- "PermissionedDomainSet": 62,
3119
3161
  "PermissionedDomainDelete": 63,
3162
+ "PermissionedDomainSet": 62,
3120
3163
  "SetFee": 101,
3121
3164
  "SetRegularKey": 5,
3122
3165
  "SignerListSet": 12,
@@ -3146,6 +3189,7 @@
3146
3189
  "LedgerEntry": 10002,
3147
3190
  "Metadata": 10004,
3148
3191
  "NotPresent": 0,
3192
+ "Number": 9,
3149
3193
  "PathSet": 18,
3150
3194
  "STArray": 15,
3151
3195
  "STObject": 14,
@@ -1,12 +1,19 @@
1
1
  import { BinaryParser } from '../serdes/binary-parser';
2
2
  import { JsonObject, SerializedType } from './serialized-type';
3
- /**
4
- * Interface for JSON objects that represent amounts
5
- */
6
- interface IssueObject extends JsonObject {
3
+ interface XRPIssue extends JsonObject {
4
+ currency: string;
5
+ }
6
+ interface IOUIssue extends JsonObject {
7
7
  currency: string;
8
- issuer?: string;
8
+ issuer: string;
9
9
  }
10
+ interface MPTIssue extends JsonObject {
11
+ mpt_issuance_id: string;
12
+ }
13
+ /**
14
+ * Interface for JSON objects that represent issues
15
+ */
16
+ type IssueObject = XRPIssue | IOUIssue | MPTIssue;
10
17
  /**
11
18
  * Class for serializing/Deserializing Amounts
12
19
  */
@@ -16,18 +23,21 @@ declare class Issue extends SerializedType {
16
23
  /**
17
24
  * Construct an amount from an IOU or string amount
18
25
  *
19
- * @param value An Amount, object representing an IOU, or a string
26
+ * @param value An Amount, object representing an IOU, MPTAmount, or a string
20
27
  * representing an integer amount
21
- * @returns An Amount object
28
+ * @returns An Issue object
22
29
  */
23
30
  static from<T extends Issue | IssueObject>(value: T): Issue;
24
31
  /**
25
32
  * Read an amount from a BinaryParser
26
33
  *
27
34
  * @param parser BinaryParser to read the Amount from
28
- * @returns An Amount object
35
+ * @param hint The number of bytes to consume from the parser.
36
+ * For an MPT amount, pass 24 (the fixed length for Hash192).
37
+ *
38
+ * @returns An Issue object
29
39
  */
30
- static fromParser(parser: BinaryParser): Issue;
40
+ static fromParser(parser: BinaryParser, hint?: number): Issue;
31
41
  /**
32
42
  * Get the JSON representation of this Amount
33
43
  *
@@ -6,15 +6,16 @@ const binary_parser_1 = require("../serdes/binary-parser");
6
6
  const account_id_1 = require("./account-id");
7
7
  const currency_1 = require("./currency");
8
8
  const serialized_type_1 = require("./serialized-type");
9
+ const hash_192_1 = require("./hash-192");
9
10
  /**
10
- * Type guard for AmountObject
11
+ * Type guard for Issue Object
11
12
  */
12
13
  function isIssueObject(arg) {
13
14
  const keys = Object.keys(arg).sort();
14
- if (keys.length === 1) {
15
- return keys[0] === 'currency';
16
- }
17
- return keys.length === 2 && keys[0] === 'currency' && keys[1] === 'issuer';
15
+ const isXRP = keys.length === 1 && keys[0] === 'currency';
16
+ const isIOU = keys.length === 2 && keys[0] === 'currency' && keys[1] === 'issuer';
17
+ const isMPT = keys.length === 1 && keys[0] === 'mpt_issuance_id';
18
+ return isXRP || isIOU || isMPT;
18
19
  }
19
20
  /**
20
21
  * Class for serializing/Deserializing Amounts
@@ -26,21 +27,30 @@ class Issue extends serialized_type_1.SerializedType {
26
27
  /**
27
28
  * Construct an amount from an IOU or string amount
28
29
  *
29
- * @param value An Amount, object representing an IOU, or a string
30
+ * @param value An Amount, object representing an IOU, MPTAmount, or a string
30
31
  * representing an integer amount
31
- * @returns An Amount object
32
+ * @returns An Issue object
32
33
  */
33
34
  static from(value) {
34
35
  if (value instanceof Issue) {
35
36
  return value;
36
37
  }
37
38
  if (isIssueObject(value)) {
38
- const currency = currency_1.Currency.from(value.currency).toBytes();
39
- if (value.issuer == null) {
39
+ if (value.currency) {
40
+ const currency = currency_1.Currency.from(value.currency.toString()).toBytes();
41
+ //IOU case
42
+ if (value.issuer) {
43
+ const issuer = account_id_1.AccountID.from(value.issuer.toString()).toBytes();
44
+ return new Issue((0, utils_1.concat)([currency, issuer]));
45
+ }
46
+ //XRP case
40
47
  return new Issue(currency);
41
48
  }
42
- const issuer = account_id_1.AccountID.from(value.issuer).toBytes();
43
- return new Issue((0, utils_1.concat)([currency, issuer]));
49
+ // MPT case
50
+ if (value.mpt_issuance_id) {
51
+ const mptIssuanceIdBytes = hash_192_1.Hash192.from(value.mpt_issuance_id.toString()).toBytes();
52
+ return new Issue(mptIssuanceIdBytes);
53
+ }
44
54
  }
45
55
  throw new Error('Invalid type to construct an Amount');
46
56
  }
@@ -48,9 +58,16 @@ class Issue extends serialized_type_1.SerializedType {
48
58
  * Read an amount from a BinaryParser
49
59
  *
50
60
  * @param parser BinaryParser to read the Amount from
51
- * @returns An Amount object
61
+ * @param hint The number of bytes to consume from the parser.
62
+ * For an MPT amount, pass 24 (the fixed length for Hash192).
63
+ *
64
+ * @returns An Issue object
52
65
  */
53
- static fromParser(parser) {
66
+ static fromParser(parser, hint) {
67
+ if (hint === hash_192_1.Hash192.width) {
68
+ const mptBytes = parser.read(hash_192_1.Hash192.width);
69
+ return new Issue(mptBytes);
70
+ }
54
71
  const currency = parser.read(20);
55
72
  if (new currency_1.Currency(currency).toJSON() === 'XRP') {
56
73
  return new Issue(currency);
@@ -64,6 +81,12 @@ class Issue extends serialized_type_1.SerializedType {
64
81
  * @returns the JSON interpretation of this.bytes
65
82
  */
66
83
  toJSON() {
84
+ // If the buffer is exactly 24 bytes, treat it as an MPT amount.
85
+ if (this.toBytes().length === hash_192_1.Hash192.width) {
86
+ return {
87
+ mpt_issuance_id: this.toHex().toUpperCase(),
88
+ };
89
+ }
67
90
  const parser = new binary_parser_1.BinaryParser(this.toString());
68
91
  const currency = currency_1.Currency.fromParser(parser);
69
92
  if (currency.toJSON() === 'XRP') {
@@ -1 +1 @@
1
- {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../src/types/issue.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAChD,2DAAsD;AAEtD,6CAAwC;AACxC,yCAAqC;AACrC,uDAA8D;AAU9D;;GAEG;AACH,SAAS,aAAa,CAAC,GAAG;IACxB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,CAAA;KAC9B;IACD,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,KAAM,SAAQ,gCAAc;IAGhC,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAClD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAgC,KAAQ;QACjD,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,KAAK,CAAA;SACb;QAED,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;YACxB,MAAM,QAAQ,GAAG,mBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAA;YACxD,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;gBACxB,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;aAC3B;YACD,MAAM,MAAM,GAAG,sBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;YACrD,OAAO,IAAI,KAAK,CAAC,IAAA,cAAM,EAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;SAC7C;QAED,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACxD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,MAAoB;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChC,IAAI,IAAI,mBAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK,EAAE;YAC7C,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;SAC3B;QACD,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACrD,OAAO,IAAI,KAAK,CAAC,IAAA,cAAM,EAAC,iBAAiB,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,MAAM,MAAM,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAChD,MAAM,QAAQ,GAAG,mBAAQ,CAAC,UAAU,CAAC,MAAM,CAAa,CAAA;QACxD,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,KAAK,EAAE;YAC/B,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAA;SACvC;QACD,MAAM,MAAM,GAAG,sBAAS,CAAC,UAAU,CAAC,MAAM,CAAc,CAAA;QAExD,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;SACxB,CAAA;IACH,CAAC;;AAGM,sBAAK;AAjEI,0BAAoB,GAAU,IAAI,KAAK,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../src/types/issue.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAChD,2DAAsD;AAEtD,6CAAwC;AACxC,yCAAqC;AACrC,uDAA8D;AAC9D,yCAAoC;AAkBpC;;GAEG;AACH,SAAS,aAAa,CAAC,GAAG;IACxB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,CAAA;IACzD,MAAM,KAAK,GACT,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAA;IAEhE,OAAO,KAAK,IAAI,KAAK,IAAI,KAAK,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,KAAM,SAAQ,gCAAc;IAGhC,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAClD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAgC,KAAQ;QACjD,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,KAAK,CAAA;SACb;QAED,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB,MAAM,QAAQ,GAAG,mBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;gBAEnE,UAAU;gBACV,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChB,MAAM,MAAM,GAAG,sBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;oBAChE,OAAO,IAAI,KAAK,CAAC,IAAA,cAAM,EAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;iBAC7C;gBAED,UAAU;gBACV,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;aAC3B;YAED,WAAW;YACX,IAAI,KAAK,CAAC,eAAe,EAAE;gBACzB,MAAM,kBAAkB,GAAG,kBAAO,CAAC,IAAI,CACrC,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,CACjC,CAAC,OAAO,EAAE,CAAA;gBACX,OAAO,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;aACrC;SACF;QAED,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACxD,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,UAAU,CAAC,MAAoB,EAAE,IAAa;QACnD,IAAI,IAAI,KAAK,kBAAO,CAAC,KAAK,EAAE;YAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAO,CAAC,KAAK,CAAC,CAAA;YAC3C,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;SAC3B;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChC,IAAI,IAAI,mBAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK,EAAE;YAC7C,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;SAC3B;QACD,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACrD,OAAO,IAAI,KAAK,CAAC,IAAA,cAAM,EAAC,iBAAiB,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,gEAAgE;QAChE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,KAAK,kBAAO,CAAC,KAAK,EAAE;YAC3C,OAAO;gBACL,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE;aAC5C,CAAA;SACF;QAED,MAAM,MAAM,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEhD,MAAM,QAAQ,GAAG,mBAAQ,CAAC,UAAU,CAAC,MAAM,CAAa,CAAA;QACxD,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,KAAK,EAAE;YAC/B,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAA;SACvC;QACD,MAAM,MAAM,GAAG,sBAAS,CAAC,UAAU,CAAC,MAAM,CAAc,CAAA;QAExD,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;SACxB,CAAA;IACH,CAAC;;AAGM,sBAAK;AA9FI,0BAAoB,GAAU,IAAI,KAAK,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA"}
@@ -96,11 +96,21 @@ class STObject extends serialized_type_1.SerializedType {
96
96
  }
97
97
  return Object.assign(acc, handled !== null && handled !== void 0 ? handled : { [key]: val });
98
98
  }, {});
99
+ function isValidFieldInstance(f) {
100
+ return (f !== undefined &&
101
+ xAddressDecoded[f.name] !== undefined &&
102
+ f.isSerialized);
103
+ }
99
104
  let sorted = Object.keys(xAddressDecoded)
100
- .map((f) => definitions.field[f])
101
- .filter((f) => f !== undefined &&
102
- xAddressDecoded[f.name] !== undefined &&
103
- f.isSerialized)
105
+ .map((f) => {
106
+ if (!(f in definitions.field)) {
107
+ if (f[0] === f[0].toLowerCase())
108
+ return undefined;
109
+ throw new Error(`Field ${f} is not defined in the definitions`);
110
+ }
111
+ return definitions.field[f];
112
+ })
113
+ .filter(isValidFieldInstance)
104
114
  .sort((a, b) => {
105
115
  return a.ordinal - b.ordinal;
106
116
  });
@@ -1 +1 @@
1
- {"version":3,"file":"st-object.js","sourceRoot":"","sources":["../../../src/types/st-object.ts"],"names":[],"mappings":";;;AAAA,oCAKiB;AACjB,uDAA8D;AAC9D,+DAAgF;AAChF,2DAAsD;AACtD,mEAAyE;AAEzE,yCAAoC;AACpC,uCAAkC;AAElC,MAAM,sBAAsB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AACtD,MAAM,iBAAiB,GAAG,iBAAiB,CAAA;AAC3C,MAAM,SAAS,GAAG,UAAU,CAAA;AAC5B,MAAM,WAAW,GAAG,aAAa,CAAA;AACjC,MAAM,OAAO,GAAG,SAAS,CAAA;AACzB,MAAM,UAAU,GAAG,WAAW,CAAA;AAC9B,MAAM,QAAQ,GAAG,gBAAgB,CAAA;AAEjC;;;;;GAKG;AACH,SAAS,cAAc,CAAC,KAAa,EAAE,QAAgB;IACrD,MAAM,OAAO,GAAG,IAAA,+CAAwB,EAAC,QAAQ,CAAC,CAAA;IAElD,IAAI,OAAO,CAAA;IACX,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,GAAG,QAAQ,CAAA;SACxC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,GAAG,UAAU,CAAA;SAC3C,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK;QAC5B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAA;IAE3D,OAAO,OAAO,CAAC,GAAG,KAAK,KAAK;QAC1B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE;QAC7D,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,cAAc,EAAE,CAAA;AACzC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,IAAgB,EAAE,IAAgB;IAC/D,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAChE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,QAAS,SAAQ,gCAAc;IACnC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,MAAoB;QACpC,MAAM,IAAI,GAAc,IAAI,6BAAS,EAAE,CAAA;QACvC,MAAM,KAAK,GAAqB,IAAI,oCAAgB,CAAC,IAAI,CAAC,CAAA;QAE1D,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;YAChC,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE;gBACpC,MAAK;aACN;YAED,MAAM,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;YAEpD,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;YAChD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;gBACjC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;aAClC;SACF;QAED,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CACT,KAAQ,EACR,MAA4B,EAC5B,cAAmC,2BAAmB;QAEtD,IAAI,KAAK,YAAY,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAA;SACb;QAED,MAAM,IAAI,GAAc,IAAI,6BAAS,EAAE,CAAA;QACvC,MAAM,KAAK,GAAqB,IAAI,oCAAgB,CAAC,IAAI,CAAC,CAAA;QAE1D,IAAI,WAAW,GAAG,KAAK,CAAA;QAEvB,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;YACvE,IAAI,OAAO,GAA2B,SAAS,CAAA;YAC/C,IAAI,GAAG,IAAI,IAAA,sCAAe,EAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE;gBAC1C,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC7C,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;aACtC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QACtD,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;aACtC,GAAG,CAAC,CAAC,CAAS,EAAiB,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAkB,CAAC;aACxE,MAAM,CACL,CAAC,CAAgB,EAAW,EAAE,CAC5B,CAAC,KAAK,SAAS;YACf,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS;YACrC,CAAC,CAAC,YAAY,CACjB;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEJ,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;SAC/B;QAED,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,MAAM,eAAe,GACnB,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;gBAC3B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC;gBAChE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;oBAC/B,CAAC,CAAC,kBAAO,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;oBACxD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;wBAC9B,CAAC,CAAC,gBAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;wBACtD,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YAE5D,IAAI,eAAe,IAAI,SAAS,EAAE;gBAChC,MAAM,IAAI,SAAS,CACjB,wBAAwB,KAAK,CAAC,IAAI,KAChC,eAAe,CAAC,KAAK,CAAC,IAAI,CAC5B,IAAI,CACL,CAAA;aACF;YAED,IAAK,eAAoC,CAAC,IAAI,KAAK,WAAW,EAAE;gBAC9D,sEAAsE;gBACtE,WAAW,GAAG,IAAI,CAAA;aACnB;YACD,oHAAoH;YACpH,gBAAgB;YAChB,4GAA4G;YAC5G,MAAM,qBAAqB,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,IAAI,WAAW,CAAA;YACpE,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAA;YACvE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;gBACjC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;aAClC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IACrC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAiC;QACtC,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAA;QACnE,MAAM,WAAW,GAAG,EAAE,CAAA;QAEtB,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,CAAA;YACtC,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE;gBACpC,MAAK;aACN;YAED,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY;iBACnC,cAAc,CAAC,KAAK,CAAC;iBACrB,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;SACnC;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;CACF;AAEQ,4BAAQ"}
1
+ {"version":3,"file":"st-object.js","sourceRoot":"","sources":["../../../src/types/st-object.ts"],"names":[],"mappings":"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"}