ripple-binary-codec 1.10.0-beta.0 → 2.0.0-beta.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.
- package/dist/binary.js +1 -2
- package/dist/binary.js.map +1 -1
- package/dist/enums/definitions.json +25 -18
- package/dist/enums/src/enums/definitions.json +25 -18
- package/dist/hashes.d.ts +1 -1
- package/dist/hashes.js +5 -5
- package/dist/hashes.js.map +1 -1
- package/dist/index.js +24 -32
- package/dist/index.js.map +1 -1
- package/dist/ledger-hashes.d.ts +1 -2
- package/dist/ledger-hashes.js +11 -30
- package/dist/ledger-hashes.js.map +1 -1
- package/dist/quality.d.ts +2 -2
- package/dist/quality.js +8 -6
- package/dist/quality.js.map +1 -1
- package/dist/serdes/binary-parser.js +12 -28
- package/dist/serdes/binary-parser.js.map +1 -1
- package/dist/serdes/binary-serializer.js +3 -26
- package/dist/serdes/binary-serializer.js.map +1 -1
- package/dist/shamap.js +3 -2
- package/dist/shamap.js.map +1 -1
- package/dist/types/amount.d.ts +1 -1
- package/dist/types/amount.js +31 -27
- package/dist/types/amount.js.map +1 -1
- package/dist/types/serialized-type.d.ts +1 -2
- package/dist/types/serialized-type.js.map +1 -1
- package/dist/types/uint-64.d.ts +2 -3
- package/dist/types/uint-64.js +10 -12
- package/dist/types/uint-64.js.map +1 -1
- package/dist/types/uint.d.ts +1 -2
- package/dist/types/uint.js.map +1 -1
- package/dist/types/xchain-bridge.d.ts +4 -4
- package/dist/types/xchain-bridge.js +5 -5
- package/dist/types/xchain-bridge.js.map +1 -1
- package/package.json +16 -9
- package/src/binary.ts +1 -2
- package/src/enums/definitions.json +25 -18
- package/src/hashes.ts +3 -3
- package/src/index.ts +24 -9
- package/src/ledger-hashes.ts +14 -10
- package/src/quality.ts +6 -7
- package/src/serdes/binary-parser.ts +12 -5
- package/src/serdes/binary-serializer.ts +3 -3
- package/src/shamap.ts +3 -2
- package/src/types/amount.ts +30 -30
- package/src/types/serialized-type.ts +1 -4
- package/src/types/uint-64.ts +12 -16
- package/src/types/uint.ts +2 -6
- package/src/types/xchain-bridge.ts +5 -5
package/dist/binary.js
CHANGED
|
@@ -13,7 +13,6 @@ const hashes_1 = require("./hashes");
|
|
|
13
13
|
Object.defineProperty(exports, "sha512Half", { enumerable: true, get: function () { return hashes_1.sha512Half; } });
|
|
14
14
|
Object.defineProperty(exports, "transactionID", { enumerable: true, get: function () { return hashes_1.transactionID; } });
|
|
15
15
|
const enums_1 = require("./enums");
|
|
16
|
-
const bigInt = require("big-integer");
|
|
17
16
|
/**
|
|
18
17
|
* Construct a BinaryParser
|
|
19
18
|
*
|
|
@@ -93,7 +92,7 @@ exports.signingData = signingData;
|
|
|
93
92
|
* @returns the serialized object with appropriate prefix
|
|
94
93
|
*/
|
|
95
94
|
function signingClaimData(claim) {
|
|
96
|
-
const num =
|
|
95
|
+
const num = BigInt(String(claim.amount));
|
|
97
96
|
const prefix = hash_prefixes_1.HashPrefix.paymentChannelClaim;
|
|
98
97
|
const channel = types_1.coreTypes.Hash256.from(claim.channel).toBytes();
|
|
99
98
|
const amount = types_1.coreTypes.UInt64.from(num).toBytes();
|
package/dist/binary.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;AAE/B,mCAAmC;AACnC,0DAAqD;
|
|
1
|
+
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"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"}
|
|
@@ -2714,6 +2714,7 @@
|
|
|
2714
2714
|
"terQUEUED": -89,
|
|
2715
2715
|
"terPRE_TICKET": -88,
|
|
2716
2716
|
"terNO_AMM": -87,
|
|
2717
|
+
"terSUBMITTED": -86,
|
|
2717
2718
|
"tesSUCCESS": 0,
|
|
2718
2719
|
"tecCLAIM": 100,
|
|
2719
2720
|
"tecPATH_PARTIAL": 101,
|
|
@@ -2753,6 +2754,7 @@
|
|
|
2753
2754
|
"tecKILLED": 150,
|
|
2754
2755
|
"tecHAS_OBLIGATIONS": 151,
|
|
2755
2756
|
"tecTOO_SOON": 152,
|
|
2757
|
+
"tecHOOK_ERROR": 153,
|
|
2756
2758
|
"tecMAX_SEQUENCE_REACHED": 154,
|
|
2757
2759
|
"tecNO_SUITABLE_NFTOKEN_PAGE": 155,
|
|
2758
2760
|
"tecNFTOKEN_BUY_SELL_MISMATCH": 156,
|
|
@@ -2765,23 +2767,27 @@
|
|
|
2765
2767
|
"tecAMM_BALANCE": 163,
|
|
2766
2768
|
"tecAMM_FAILED": 164,
|
|
2767
2769
|
"tecAMM_INVALID_TOKENS": 165,
|
|
2768
|
-
"
|
|
2769
|
-
"
|
|
2770
|
-
"
|
|
2771
|
-
"
|
|
2772
|
-
"
|
|
2773
|
-
"
|
|
2774
|
-
"
|
|
2775
|
-
"
|
|
2776
|
-
"
|
|
2777
|
-
"
|
|
2778
|
-
"
|
|
2779
|
-
"
|
|
2780
|
-
"
|
|
2781
|
-
"
|
|
2782
|
-
"
|
|
2783
|
-
"
|
|
2784
|
-
"
|
|
2770
|
+
"tecAMM_EMPTY": 166,
|
|
2771
|
+
"tecAMM_NOT_EMPTY": 167,
|
|
2772
|
+
"tecAMM_ACCOUNT": 168,
|
|
2773
|
+
"tecINCOMPLETE": 169,
|
|
2774
|
+
"tecXCHAIN_BAD_TRANSFER_ISSUE": 170,
|
|
2775
|
+
"tecXCHAIN_NO_CLAIM_ID": 171,
|
|
2776
|
+
"tecXCHAIN_BAD_CLAIM_ID": 172,
|
|
2777
|
+
"tecXCHAIN_CLAIM_NO_QUORUM": 173,
|
|
2778
|
+
"tecXCHAIN_PROOF_UNKNOWN_KEY": 174,
|
|
2779
|
+
"tecXCHAIN_CREATE_ACCOUNT_NONXRP_ISSUE": 175,
|
|
2780
|
+
"tecXCHAIN_WRONG_CHAIN": 176,
|
|
2781
|
+
"tecXCHAIN_REWARD_MISMATCH": 177,
|
|
2782
|
+
"tecXCHAIN_NO_SIGNERS_LIST": 178,
|
|
2783
|
+
"tecXCHAIN_SENDING_ACCOUNT_MISMATCH": 179,
|
|
2784
|
+
"tecXCHAIN_INSUFF_CREATE_AMOUNT": 180,
|
|
2785
|
+
"tecXCHAIN_ACCOUNT_CREATE_PAST": 181,
|
|
2786
|
+
"tecXCHAIN_ACCOUNT_CREATE_TOO_MANY": 182,
|
|
2787
|
+
"tecXCHAIN_PAYMENT_FAILED": 183,
|
|
2788
|
+
"tecXCHAIN_SELF_COMMIT": 184,
|
|
2789
|
+
"tecXCHAIN_BAD_PUBLIC_KEY_ACCOUNT_PAIR": 185,
|
|
2790
|
+
"tecXCHAIN_CREATE_ACCOUNT_DISABLED": 186
|
|
2785
2791
|
},
|
|
2786
2792
|
"TRANSACTION_TYPES": {
|
|
2787
2793
|
"Invalid": -1,
|
|
@@ -2819,7 +2825,7 @@
|
|
|
2819
2825
|
"AMMWithdraw": 37,
|
|
2820
2826
|
"AMMVote": 38,
|
|
2821
2827
|
"AMMBid": 39,
|
|
2822
|
-
"
|
|
2828
|
+
"AMMDelete": 40,
|
|
2823
2829
|
"XChainCreateClaimID": 41,
|
|
2824
2830
|
"XChainCommit": 42,
|
|
2825
2831
|
"XChainClaim": 43,
|
|
@@ -2827,6 +2833,7 @@
|
|
|
2827
2833
|
"XChainAddClaimAttestation": 45,
|
|
2828
2834
|
"XChainAddAccountCreateAttestation": 46,
|
|
2829
2835
|
"XChainModifyBridge": 47,
|
|
2836
|
+
"XChainCreateBridge": 48,
|
|
2830
2837
|
"EnableAmendment": 100,
|
|
2831
2838
|
"SetFee": 101,
|
|
2832
2839
|
"UNLModify": 102
|
|
@@ -2717,6 +2717,7 @@
|
|
|
2717
2717
|
"terQUEUED": -89,
|
|
2718
2718
|
"terPRE_TICKET": -88,
|
|
2719
2719
|
"terNO_AMM": -87,
|
|
2720
|
+
"terSUBMITTED": -86,
|
|
2720
2721
|
|
|
2721
2722
|
"tesSUCCESS": 0,
|
|
2722
2723
|
|
|
@@ -2758,6 +2759,7 @@
|
|
|
2758
2759
|
"tecKILLED": 150,
|
|
2759
2760
|
"tecHAS_OBLIGATIONS": 151,
|
|
2760
2761
|
"tecTOO_SOON": 152,
|
|
2762
|
+
"tecHOOK_ERROR": 153,
|
|
2761
2763
|
"tecMAX_SEQUENCE_REACHED": 154,
|
|
2762
2764
|
"tecNO_SUITABLE_NFTOKEN_PAGE": 155,
|
|
2763
2765
|
"tecNFTOKEN_BUY_SELL_MISMATCH": 156,
|
|
@@ -2770,23 +2772,27 @@
|
|
|
2770
2772
|
"tecAMM_BALANCE": 163,
|
|
2771
2773
|
"tecAMM_FAILED": 164,
|
|
2772
2774
|
"tecAMM_INVALID_TOKENS": 165,
|
|
2773
|
-
"
|
|
2774
|
-
"
|
|
2775
|
-
"
|
|
2776
|
-
"
|
|
2777
|
-
"
|
|
2778
|
-
"
|
|
2779
|
-
"
|
|
2780
|
-
"
|
|
2781
|
-
"
|
|
2782
|
-
"
|
|
2783
|
-
"
|
|
2784
|
-
"
|
|
2785
|
-
"
|
|
2786
|
-
"
|
|
2787
|
-
"
|
|
2788
|
-
"
|
|
2789
|
-
"
|
|
2775
|
+
"tecAMM_EMPTY": 166,
|
|
2776
|
+
"tecAMM_NOT_EMPTY": 167,
|
|
2777
|
+
"tecAMM_ACCOUNT": 168,
|
|
2778
|
+
"tecINCOMPLETE": 169,
|
|
2779
|
+
"tecXCHAIN_BAD_TRANSFER_ISSUE": 170,
|
|
2780
|
+
"tecXCHAIN_NO_CLAIM_ID": 171,
|
|
2781
|
+
"tecXCHAIN_BAD_CLAIM_ID": 172,
|
|
2782
|
+
"tecXCHAIN_CLAIM_NO_QUORUM": 173,
|
|
2783
|
+
"tecXCHAIN_PROOF_UNKNOWN_KEY": 174,
|
|
2784
|
+
"tecXCHAIN_CREATE_ACCOUNT_NONXRP_ISSUE": 175,
|
|
2785
|
+
"tecXCHAIN_WRONG_CHAIN": 176,
|
|
2786
|
+
"tecXCHAIN_REWARD_MISMATCH": 177,
|
|
2787
|
+
"tecXCHAIN_NO_SIGNERS_LIST": 178,
|
|
2788
|
+
"tecXCHAIN_SENDING_ACCOUNT_MISMATCH": 179,
|
|
2789
|
+
"tecXCHAIN_INSUFF_CREATE_AMOUNT": 180,
|
|
2790
|
+
"tecXCHAIN_ACCOUNT_CREATE_PAST": 181,
|
|
2791
|
+
"tecXCHAIN_ACCOUNT_CREATE_TOO_MANY": 182,
|
|
2792
|
+
"tecXCHAIN_PAYMENT_FAILED": 183,
|
|
2793
|
+
"tecXCHAIN_SELF_COMMIT": 184,
|
|
2794
|
+
"tecXCHAIN_BAD_PUBLIC_KEY_ACCOUNT_PAIR": 185,
|
|
2795
|
+
"tecXCHAIN_CREATE_ACCOUNT_DISABLED": 186
|
|
2790
2796
|
},
|
|
2791
2797
|
"TRANSACTION_TYPES": {
|
|
2792
2798
|
"Invalid": -1,
|
|
@@ -2824,7 +2830,7 @@
|
|
|
2824
2830
|
"AMMWithdraw": 37,
|
|
2825
2831
|
"AMMVote": 38,
|
|
2826
2832
|
"AMMBid": 39,
|
|
2827
|
-
"
|
|
2833
|
+
"AMMDelete": 40,
|
|
2828
2834
|
"XChainCreateClaimID": 41,
|
|
2829
2835
|
"XChainCommit": 42,
|
|
2830
2836
|
"XChainClaim": 43,
|
|
@@ -2832,6 +2838,7 @@
|
|
|
2832
2838
|
"XChainAddClaimAttestation": 45,
|
|
2833
2839
|
"XChainAddAccountCreateAttestation": 46,
|
|
2834
2840
|
"XChainModifyBridge": 47,
|
|
2841
|
+
"XChainCreateBridge": 48,
|
|
2835
2842
|
"EnableAmendment": 100,
|
|
2836
2843
|
"SetFee": 101,
|
|
2837
2844
|
"UNLModify": 102
|
package/dist/hashes.d.ts
CHANGED
package/dist/hashes.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
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
|
|
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
7
|
const buffer_1 = require("buffer/");
|
|
8
|
+
const sha512_1 = require("@xrplf/isomorphic/sha512");
|
|
9
9
|
/**
|
|
10
10
|
* Class for hashing with SHA512
|
|
11
11
|
* @extends BytesList So SerializedTypes can write bytes to a Sha512Half
|
|
@@ -13,7 +13,7 @@ const buffer_1 = require("buffer/");
|
|
|
13
13
|
class Sha512Half extends binary_serializer_1.BytesList {
|
|
14
14
|
constructor() {
|
|
15
15
|
super(...arguments);
|
|
16
|
-
this.hash =
|
|
16
|
+
this.hash = sha512_1.sha512.create();
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Construct a new Sha512Hash and write bytes this.hash
|
|
@@ -48,7 +48,7 @@ class Sha512Half extends binary_serializer_1.BytesList {
|
|
|
48
48
|
* @returns a Hash256 object
|
|
49
49
|
*/
|
|
50
50
|
finish() {
|
|
51
|
-
return new
|
|
51
|
+
return new types_1.Hash256(this.finish256());
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
exports.Sha512Half = Sha512Half;
|
|
@@ -71,7 +71,7 @@ exports.sha512Half = sha512Half;
|
|
|
71
71
|
* @returns a Hash256 object
|
|
72
72
|
*/
|
|
73
73
|
function transactionID(serialized) {
|
|
74
|
-
return new
|
|
74
|
+
return new types_1.Hash256(sha512Half(hash_prefixes_1.HashPrefix.transactionID, serialized));
|
|
75
75
|
}
|
|
76
76
|
exports.transactionID = transactionID;
|
|
77
77
|
//# sourceMappingURL=hashes.js.map
|
package/dist/hashes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashes.js","sourceRoot":"","sources":["../src/hashes.ts"],"names":[],"mappings":";;;AAAA,mDAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"hashes.js","sourceRoot":"","sources":["../src/hashes.ts"],"names":[],"mappings":";;;AAAA,mDAA4C;AAC5C,mCAAiC;AACjC,kEAAsD;AACtD,oCAAgC;AAChC,qDAAiD;AAEjD;;;GAGG;AACH,MAAM,UAAW,SAAQ,6BAAS;IAAlC;;QACU,SAAI,GAAG,eAAM,CAAC,MAAM,EAAE,CAAA;IAwChC,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,eAAO,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,eAAO,CAAC,UAAU,CAAC,0BAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAA;AACtE,CAAC;AAEgC,sCAAa"}
|
package/dist/index.js
CHANGED
|
@@ -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.coreTypes = exports.DEFAULT_DEFINITIONS = exports.XrplDefinitionsBase = exports.XrplDefinitions = 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"));
|
|
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; } });
|
|
@@ -45,7 +21,9 @@ const { signingData, signingClaimData, multiSigningData, binaryToJSON, serialize
|
|
|
45
21
|
* @returns the JSON representation of the transaction
|
|
46
22
|
*/
|
|
47
23
|
function decode(binary, definitions) {
|
|
48
|
-
|
|
24
|
+
if (typeof binary !== 'string') {
|
|
25
|
+
throw new Error('binary must be a hex string');
|
|
26
|
+
}
|
|
49
27
|
return binaryToJSON(binary, definitions);
|
|
50
28
|
}
|
|
51
29
|
exports.decode = decode;
|
|
@@ -58,7 +36,9 @@ exports.decode = decode;
|
|
|
58
36
|
* @returns A hex-string of the encoded transaction
|
|
59
37
|
*/
|
|
60
38
|
function encode(json, definitions) {
|
|
61
|
-
|
|
39
|
+
if (typeof json !== 'object') {
|
|
40
|
+
throw new Error();
|
|
41
|
+
}
|
|
62
42
|
return serializeObject(json, { definitions })
|
|
63
43
|
.toString('hex')
|
|
64
44
|
.toUpperCase();
|
|
@@ -73,7 +53,9 @@ exports.encode = encode;
|
|
|
73
53
|
* @returns a hex string of the encoded transaction
|
|
74
54
|
*/
|
|
75
55
|
function encodeForSigning(json, definitions) {
|
|
76
|
-
|
|
56
|
+
if (typeof json !== 'object') {
|
|
57
|
+
throw new Error();
|
|
58
|
+
}
|
|
77
59
|
return signingData(json, coretypes_1.HashPrefix.transactionSig, {
|
|
78
60
|
definitions,
|
|
79
61
|
})
|
|
@@ -90,7 +72,9 @@ exports.encodeForSigning = encodeForSigning;
|
|
|
90
72
|
* @returns a hex string of the encoded transaction
|
|
91
73
|
*/
|
|
92
74
|
function encodeForSigningClaim(json) {
|
|
93
|
-
|
|
75
|
+
if (typeof json !== 'object') {
|
|
76
|
+
throw new Error();
|
|
77
|
+
}
|
|
94
78
|
return signingClaimData(json)
|
|
95
79
|
.toString('hex')
|
|
96
80
|
.toUpperCase();
|
|
@@ -105,8 +89,12 @@ exports.encodeForSigningClaim = encodeForSigningClaim;
|
|
|
105
89
|
* @returns a hex string of the encoded transaction
|
|
106
90
|
*/
|
|
107
91
|
function encodeForMultisigning(json, signer, definitions) {
|
|
108
|
-
|
|
109
|
-
|
|
92
|
+
if (typeof json !== 'object') {
|
|
93
|
+
throw new Error();
|
|
94
|
+
}
|
|
95
|
+
if (json['SigningPubKey'] !== '') {
|
|
96
|
+
throw new Error();
|
|
97
|
+
}
|
|
110
98
|
const definitionsOpt = definitions ? { definitions } : undefined;
|
|
111
99
|
return multiSigningData(json, signer, definitionsOpt)
|
|
112
100
|
.toString('hex')
|
|
@@ -120,7 +108,9 @@ exports.encodeForMultisigning = encodeForMultisigning;
|
|
|
120
108
|
* @returns a hex-string representing the quality
|
|
121
109
|
*/
|
|
122
110
|
function encodeQuality(value) {
|
|
123
|
-
|
|
111
|
+
if (typeof value !== 'string') {
|
|
112
|
+
throw new Error();
|
|
113
|
+
}
|
|
124
114
|
return coretypes_1.quality.encode(value).toString('hex').toUpperCase();
|
|
125
115
|
}
|
|
126
116
|
exports.encodeQuality = encodeQuality;
|
|
@@ -131,7 +121,9 @@ exports.encodeQuality = encodeQuality;
|
|
|
131
121
|
* @returns a string representing the quality
|
|
132
122
|
*/
|
|
133
123
|
function decodeQuality(value) {
|
|
134
|
-
|
|
124
|
+
if (typeof value !== 'string') {
|
|
125
|
+
throw new Error();
|
|
126
|
+
}
|
|
135
127
|
return coretypes_1.quality.decode(value).toString();
|
|
136
128
|
}
|
|
137
129
|
exports.decodeQuality = decodeQuality;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ledger-hashes.d.ts
CHANGED
|
@@ -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 |
|
|
23
|
+
total_coins: string | number | bigint;
|
|
25
24
|
parent_hash: string;
|
|
26
25
|
transaction_hash: string;
|
|
27
26
|
account_hash: string;
|
package/dist/ledger-hashes.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
123
|
-
|
|
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(
|
|
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
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"ledger-hashes.js","sourceRoot":"","sources":["../src/ledger-hashes.ts"],"names":[],"mappings":"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"}
|
package/dist/quality.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Decimal } from 'decimal.js';
|
|
2
1
|
import { Buffer } from 'buffer/';
|
|
2
|
+
import BigNumber from 'bignumber.js';
|
|
3
3
|
/**
|
|
4
4
|
* class for encoding and decoding quality
|
|
5
5
|
*/
|
|
@@ -17,6 +17,6 @@ declare class quality {
|
|
|
17
17
|
* @param arg hex-string denoting serialized quality
|
|
18
18
|
* @returns deserialized quality
|
|
19
19
|
*/
|
|
20
|
-
static decode(quality: string):
|
|
20
|
+
static decode(quality: string): BigNumber;
|
|
21
21
|
}
|
|
22
22
|
export { quality };
|
package/dist/quality.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.quality = void 0;
|
|
4
7
|
const types_1 = require("./types");
|
|
5
|
-
const decimal_js_1 = require("decimal.js");
|
|
6
|
-
const bigInt = require("big-integer");
|
|
7
8
|
const buffer_1 = require("buffer/");
|
|
9
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
10
|
/**
|
|
9
11
|
* class for encoding and decoding quality
|
|
10
12
|
*/
|
|
@@ -16,10 +18,10 @@ class quality {
|
|
|
16
18
|
* @returns Serialized quality
|
|
17
19
|
*/
|
|
18
20
|
static encode(quality) {
|
|
19
|
-
const decimal =
|
|
20
|
-
const exponent = decimal.e - 15;
|
|
21
|
+
const decimal = (0, bignumber_js_1.default)(quality);
|
|
22
|
+
const exponent = ((decimal === null || decimal === void 0 ? void 0 : decimal.e) || 0) - 15;
|
|
21
23
|
const qualityString = decimal.times(`1e${-exponent}`).abs().toString();
|
|
22
|
-
const bytes = types_1.coreTypes.UInt64.from(
|
|
24
|
+
const bytes = types_1.coreTypes.UInt64.from(BigInt(qualityString)).toBytes();
|
|
23
25
|
bytes[0] = exponent + 100;
|
|
24
26
|
return bytes;
|
|
25
27
|
}
|
|
@@ -32,7 +34,7 @@ class quality {
|
|
|
32
34
|
static decode(quality) {
|
|
33
35
|
const bytes = buffer_1.Buffer.from(quality, 'hex').slice(-8);
|
|
34
36
|
const exponent = bytes[0] - 100;
|
|
35
|
-
const mantissa = new
|
|
37
|
+
const mantissa = new bignumber_js_1.default(`0x${bytes.slice(1).toString('hex')}`);
|
|
36
38
|
return mantissa.times(`1e${exponent}`);
|
|
37
39
|
}
|
|
38
40
|
}
|
package/dist/quality.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality.js","sourceRoot":"","sources":["../src/quality.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quality.js","sourceRoot":"","sources":["../src/quality.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAmC;AACnC,oCAAgC;AAChC,gEAAoC;AAEpC;;GAEG;AACH,MAAM,OAAO;IACX;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,OAAe;QAC3B,MAAM,OAAO,GAAG,IAAA,sBAAS,EAAC,OAAO,CAAC,CAAA;QAClC,MAAM,QAAQ,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,CAAC,KAAI,CAAC,CAAC,GAAG,EAAE,CAAA;QACvC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;QACtE,MAAM,KAAK,GAAG,iBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;QACpE,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,GAAG,CAAA;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,OAAe;QAC3B,MAAM,KAAK,GAAG,eAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QAC/B,MAAM,QAAQ,GAAG,IAAI,sBAAS,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACrE,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAA;IACxC,CAAC;CACF;AAEQ,0BAAO"}
|
|
@@ -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.BinaryParser = void 0;
|
|
27
|
-
const assert = __importStar(require("assert"));
|
|
28
4
|
const enums_1 = require("../enums");
|
|
29
5
|
const buffer_1 = require("buffer/");
|
|
30
6
|
/**
|
|
@@ -48,7 +24,9 @@ class BinaryParser {
|
|
|
48
24
|
* @returns The first byte of the BinaryParser
|
|
49
25
|
*/
|
|
50
26
|
peek() {
|
|
51
|
-
|
|
27
|
+
if (this.bytes.byteLength === 0) {
|
|
28
|
+
throw new Error();
|
|
29
|
+
}
|
|
52
30
|
return this.bytes[0];
|
|
53
31
|
}
|
|
54
32
|
/**
|
|
@@ -57,7 +35,9 @@ class BinaryParser {
|
|
|
57
35
|
* @param n the number of bytes to skip
|
|
58
36
|
*/
|
|
59
37
|
skip(n) {
|
|
60
|
-
|
|
38
|
+
if (n > this.bytes.byteLength) {
|
|
39
|
+
throw new Error();
|
|
40
|
+
}
|
|
61
41
|
this.bytes = this.bytes.slice(n);
|
|
62
42
|
}
|
|
63
43
|
/**
|
|
@@ -67,7 +47,9 @@ class BinaryParser {
|
|
|
67
47
|
* @return The bytes
|
|
68
48
|
*/
|
|
69
49
|
read(n) {
|
|
70
|
-
|
|
50
|
+
if (n > this.bytes.byteLength) {
|
|
51
|
+
throw new Error();
|
|
52
|
+
}
|
|
71
53
|
const slice = this.bytes.slice(0, n);
|
|
72
54
|
this.skip(n);
|
|
73
55
|
return slice;
|
|
@@ -79,7 +61,9 @@ class BinaryParser {
|
|
|
79
61
|
* @return The number represented by those bytes
|
|
80
62
|
*/
|
|
81
63
|
readUIntN(n) {
|
|
82
|
-
|
|
64
|
+
if (0 >= n || n > 4) {
|
|
65
|
+
throw new Error('invalid n');
|
|
66
|
+
}
|
|
83
67
|
return this.read(n).reduce((a, b) => (a << 8) | b) >>> 0;
|
|
84
68
|
}
|
|
85
69
|
readUInt8() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-parser.js","sourceRoot":"","sources":["../../src/serdes/binary-parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"binary-parser.js","sourceRoot":"","sources":["../../src/serdes/binary-parser.ts"],"names":[],"mappings":";;;AAAA,oCAIiB;AAEjB,oCAAgC;AAEhC;;GAEG;AACH,MAAM,YAAY;IAIhB;;;;;;OAMG;IACH,YACE,QAAgB,EAChB,cAAmC,2BAAmB;QAEtD,IAAI,CAAC,KAAK,GAAG,eAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE;YAC/B,MAAM,IAAI,KAAK,EAAE,CAAA;SAClB;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,CAAS;QACZ,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YAC7B,MAAM,IAAI,KAAK,EAAE,CAAA;SAClB;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,CAAS;QACZ,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YAC7B,MAAM,IAAI,KAAK,EAAE,CAAA;SAClB;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACZ,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,CAAS;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;SAC7B;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1D,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA;IAC9B,CAAC;IAED,GAAG,CAAC,SAAkB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA;QACpC,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,IAAI,SAAS,CAAC,CAAA;IACzE,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAA;IACnD,CAAC;IAED;;;;OAIG;IACH,wBAAwB;QACtB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC3B,IAAI,EAAE,IAAI,GAAG,EAAE;YACb,OAAO,EAAE,CAAA;SACV;aAAM,IAAI,EAAE,IAAI,GAAG,EAAE;YACpB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YAC3B,OAAO,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAA;SACnC;aAAM,IAAI,EAAE,IAAI,GAAG,EAAE;YACpB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YAC3B,OAAO,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;SAClD;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC3B,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;QACnB,IAAI,KAAK,CAAC,CAAA;QAEV,IAAI,IAAI,KAAK,CAAC,EAAE;YACd,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YACvB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;aACpE;SACF;QAED,IAAI,GAAG,KAAK,CAAC,EAAE;YACb,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YACtB,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;aACrE;SACF;QAED,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,GAAG,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,IAA2B;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,KAAoB;QAC/B,OAAO,KAAK,CAAC,cAAc,CAAA;IAC7B,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,KAAoB;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;SACpE;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,uBAAuB;YAC5C,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACjC,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC7C,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,MAAM,IAAI,KAAK,CACb,mBAAmB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,iBAAiB,CACnE,CAAA;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC9B,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5C,CAAC;CACF;AAEQ,oCAAY"}
|