@bitgo/sdk-coin-rune 1.1.8 → 1.1.9
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/CHANGELOG.md +6 -0
- package/dist/src/lib/utils.d.ts +13 -0
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +35 -6
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.1.9](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-rune@1.1.8...@bitgo/sdk-coin-rune@1.1.9) (2024-12-12)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **sdk-coin-rune:** validate gas amount ([fef971a](https://github.com/BitGo/BitGoJS/commit/fef971a23e3b61814ff51994ce68a855193b397b))
|
|
11
|
+
|
|
6
12
|
## [1.1.8](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-rune@1.1.7...@bitgo/sdk-coin-rune@1.1.8) (2024-12-11)
|
|
7
13
|
|
|
8
14
|
**Note:** Version bump only for package @bitgo/sdk-coin-rune
|
package/dist/src/lib/utils.d.ts
CHANGED
|
@@ -46,6 +46,19 @@ export declare class RuneUtils extends CosmosUtils {
|
|
|
46
46
|
isValidValidatorAddress(address: string): boolean;
|
|
47
47
|
/** @inheritdoc */
|
|
48
48
|
validateAmount(amount: Coin): void;
|
|
49
|
+
/**
|
|
50
|
+
* Validates the gas limit and gas amount for a transaction.
|
|
51
|
+
* @param {FeeData} gasBudget - The gas budget to validate.
|
|
52
|
+
* @throws {InvalidTransactionError} Throws an error if the gas budget is invalid.
|
|
53
|
+
*/
|
|
54
|
+
validateGasBudget(gasBudget: FeeData): void;
|
|
55
|
+
/**
|
|
56
|
+
* Validates an array of coin amounts.
|
|
57
|
+
* @param {Coin[]} amountArray - The array of coin amounts to validate.
|
|
58
|
+
*/
|
|
59
|
+
validateGasAmountData(amountArray: Coin[]): void;
|
|
60
|
+
validateGasAmount(amount: Coin): void;
|
|
61
|
+
validateDenomination(amountDenom: string): void;
|
|
49
62
|
convertMessageAddressToUint8Array(messages: MessageData[]): MessageData[];
|
|
50
63
|
createTransaction(sequence: number, messages: MessageData[], gasBudget: FeeData, publicKey?: string, memo?: string): CosmosLikeTransaction;
|
|
51
64
|
getNetworkPrefix(): "thor" | "sthor";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,qBAAa,SAAU,SAAQ,WAAW;IACxC,OAAO,CAAC,WAAW,CAAc;gBACrB,WAAW,GAAE,WAAiC;IAK1D,+BAA+B,CAAC,SAAS,EAAE,YAAY,GAAG,WAAW,EAAE;IAcvE,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO;IAarD;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;;;;OAOG;IACH,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAU9C;;;;;;;OAOG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAQ9C,kBAAkB;IAClB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOjD,kBAAkB;IAClB,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,qBAAa,SAAU,SAAQ,WAAW;IACxC,OAAO,CAAC,WAAW,CAAc;gBACrB,WAAW,GAAE,WAAiC;IAK1D,+BAA+B,CAAC,SAAS,EAAE,YAAY,GAAG,WAAW,EAAE;IAcvE,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO;IAarD;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;;;;OAOG;IACH,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAU9C;;;;;;;OAOG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAQ9C,kBAAkB;IAClB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOjD,kBAAkB;IAClB,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;IAQlC;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAO3C;;;OAGG;IACH,qBAAqB,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI;IAMhD,iBAAiB,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;IAQrC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAU/C,iCAAiC,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IA0BzE,iBAAiB,CACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,WAAW,EAAE,EACvB,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,qBAAqB;IAaxB,gBAAgB;CAGjB;AAED,QAAA,MAAM,SAAS,WAAkB,CAAC;AAElC,eAAe,SAAS,CAAC"}
|
package/dist/src/lib/utils.js
CHANGED
|
@@ -142,14 +142,43 @@ class RuneUtils extends abstract_cosmos_1.CosmosUtils {
|
|
|
142
142
|
/** @inheritdoc */
|
|
143
143
|
validateAmount(amount) {
|
|
144
144
|
const amountBig = (0, bignumber_js_1.default)(amount.amount);
|
|
145
|
-
if (amountBig.isLessThanOrEqualTo(0)) {
|
|
145
|
+
if (amountBig.isNaN() || amountBig.isLessThanOrEqualTo(0)) {
|
|
146
146
|
throw new sdk_core_1.InvalidTransactionError('transactionBuilder: validateAmount: Invalid amount: ' + amount.amount);
|
|
147
147
|
}
|
|
148
|
+
this.validateDenomination(amount.denom);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Validates the gas limit and gas amount for a transaction.
|
|
152
|
+
* @param {FeeData} gasBudget - The gas budget to validate.
|
|
153
|
+
* @throws {InvalidTransactionError} Throws an error if the gas budget is invalid.
|
|
154
|
+
*/
|
|
155
|
+
validateGasBudget(gasBudget) {
|
|
156
|
+
if (gasBudget.gasLimit <= 0) {
|
|
157
|
+
throw new sdk_core_1.InvalidTransactionError('Invalid gas limit ' + gasBudget.gasLimit);
|
|
158
|
+
}
|
|
159
|
+
this.validateGasAmountData(gasBudget.amount);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Validates an array of coin amounts.
|
|
163
|
+
* @param {Coin[]} amountArray - The array of coin amounts to validate.
|
|
164
|
+
*/
|
|
165
|
+
validateGasAmountData(amountArray) {
|
|
166
|
+
amountArray.forEach((coinAmount) => {
|
|
167
|
+
this.validateGasAmount(coinAmount);
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
validateGasAmount(amount) {
|
|
171
|
+
const amountBig = (0, bignumber_js_1.default)(amount.amount);
|
|
172
|
+
if (amountBig.isNaN() || amountBig.isLessThan(0)) {
|
|
173
|
+
throw new sdk_core_1.InvalidTransactionError('transactionBuilder: validateAmount: Invalid amount: ' + amount.amount);
|
|
174
|
+
}
|
|
175
|
+
this.validateDenomination(amount.denom);
|
|
176
|
+
}
|
|
177
|
+
validateDenomination(amountDenom) {
|
|
148
178
|
if ((this.networkType === statics_1.NetworkType.TESTNET &&
|
|
149
|
-
!constants.testnetValidDenoms.find((denom) => denom ===
|
|
150
|
-
(this.networkType === statics_1.NetworkType.MAINNET &&
|
|
151
|
-
|
|
152
|
-
throw new sdk_core_1.InvalidTransactionError('transactionBuilder: validateAmount: Invalid denom: ' + amount.denom);
|
|
179
|
+
!constants.testnetValidDenoms.find((denom) => denom === amountDenom)) ||
|
|
180
|
+
(this.networkType === statics_1.NetworkType.MAINNET && !constants.mainnetValidDenoms.find((denom) => denom === amountDenom))) {
|
|
181
|
+
throw new sdk_core_1.InvalidTransactionError('transactionBuilder: validateAmount: Invalid denom: ' + amountDenom);
|
|
153
182
|
}
|
|
154
183
|
}
|
|
155
184
|
convertMessageAddressToUint8Array(messages) {
|
|
@@ -191,4 +220,4 @@ class RuneUtils extends abstract_cosmos_1.CosmosUtils {
|
|
|
191
220
|
exports.RuneUtils = RuneUtils;
|
|
192
221
|
const runeUtils = new RuneUtils();
|
|
193
222
|
exports.default = runeUtils;
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUEwRDtBQUUxRCxnRUFBcUM7QUFFckMsNERBQXFGO0FBRXJGLHVEQUF5QztBQUN6Qyw0Q0FBNkM7QUFFN0MsMkNBQTZFO0FBQzdFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUV4QyxNQUFhLFNBQVUsU0FBUSw2QkFBVztJQUV4QyxZQUFZLGNBQTJCLHFCQUFXLENBQUMsT0FBTztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxTQUF1QjtRQUNyRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLE9BQU87Z0JBQ0wsS0FBSyxFQUFFO29CQUNMLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztvQkFDdEQsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO29CQUNsRCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07aUJBQ3JCO2dCQUNELE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTzthQUN6QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxPQUE0QjtRQUN6QyxJQUFJLE9BQU8sS0FBSyxTQUFTLElBQUksT0FBTyxLQUFLLElBQUksRUFBRSxD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LENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO2dCQUVoSCxPQUFPO29CQUNMLEdBQUcsT0FBTztvQkFDVixLQUFLLEVBQUU7d0JBQ0wsR0FBRyxXQUFXO3dCQUNkLFdBQVcsRUFBRSxXQUFXO3dCQUN4QixTQUFTLEVBQUUsU0FBUztxQkFDckI7aUJBQ0YsQ0FBQztZQUNKLENBQUM7WUFFRCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FDZixRQUFnQixFQUNoQixRQUF1QixFQUN2QixTQUFrQixFQUNsQixTQUFrQixFQUNsQixJQUFhO1FBRWIsUUFBUSxHQUFHLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RCxNQUFNLGFBQWEsR0FBRztZQUNwQixRQUFRLEVBQUUsUUFBUTtZQUNsQixZQUFZLEVBQUUsUUFBUTtZQUN0QixTQUFTLEVBQUUsU0FBUztZQUNwQixTQUFTLEVBQUUsU0FBUztZQUNwQixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUM7UUFDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEMsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsa0NBQXNCLENBQUMsQ0FBQyxDQUFDLGtDQUFzQixDQUFDO0lBQ3BHLENBQUM7Q0FDRjtBQXRLRCw4QkFzS0M7QUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO0FBRWxDLGtCQUFlLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IENvaW4gfSBmcm9tICdAY29zbWpzL3N0YXJnYXRlJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuaW1wb3J0IHsgQ29zbW9zTGlrZVRyYW5zYWN0aW9uLCBDb3Ntb3NVdGlscywgRmVlRGF0YSB9IGZyb20gJ0BiaXRnby9hYnN0cmFjdC1jb3Ntb3MnO1xuaW1wb3J0IHsgTWVzc2FnZURhdGEgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCAqIGFzIGNvbnN0YW50cyBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBOZXR3b3JrVHlwZSB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IERlY29kZWRUeFJhdyB9IGZyb20gJ0Bjb3NtanMvcHJvdG8tc2lnbmluZyc7XG5pbXBvcnQgeyBNQUlOTkVUX0FERFJFU1NfUFJFRklYLCBURVNUTkVUX0FERFJFU1NfUFJFRklYIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuY29uc3QgYmVjaDMyID0gcmVxdWlyZSgnYmVjaDMyLWJ1ZmZlcicpO1xuXG5leHBvcnQgY2xhc3MgUnVuZVV0aWxzIGV4dGVuZHMgQ29zbW9zVXRpbHMge1xuICBwcml2YXRlIG5ldHdvcmtUeXBlOiBOZXR3b3JrVHlwZTtcbiAgY29uc3RydWN0b3IobmV0d29ya1R5cGU6IE5ldHdvcmtUeXBlID0gTmV0d29ya1R5cGUuTUFJTk5FVCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5uZXR3b3JrVHlwZSA9IG5ldHdvcmtUeXBlO1xuICB9XG5cbiAgZ2V0U2VuZE1lc3NhZ2VEYXRhRnJvbURlY29kZWRUeChkZWNvZGVkVHg6IERlY29kZWRUeFJhdyk6IE1lc3NhZ2VEYXRhW10ge1xuICAgIHJldHVybiBkZWNvZGVkVHguYm9keS5tZXNzYWdlcy5tYXAoKG1lc3NhZ2UpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5yZWdpc3RyeS5kZWNvZGUobWVzc2FnZSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgIGZyb21BZGRyZXNzOiB0aGlzLmdldEVuY29kZWRBZGRyZXNzKHZhbHVlLmZyb21BZGRyZXNzKSxcbiAgICAgICAgICB0b0FkZHJlc3M6IHRoaXMuZ2V0RW5jb2RlZEFkZHJlc3ModmFsdWUudG9BZGRyZXNzKSxcbiAgICAgICAgICBhbW91bnQ6IHZhbHVlLmFtb3VudCxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZVVybDogbWVzc2FnZS50eXBlVXJsLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcgfCBVaW50OEFycmF5KTogYm9vbGVhbiB7XG4gICAgaWYgKGFkZHJlc3MgPT09IHVuZGVmaW5lZCB8fCBhZGRyZXNzID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChhZGRyZXNzIGluc3RhbmNlb2YgVWludDhBcnJheSkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZERlY29kZWRBZGRyZXNzKGFkZHJlc3MpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGFkZHJlc3MgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkRW5jb2RlZEFkZHJlc3MoYWRkcmVzcyk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYSBkZWNvZGVkIGFkZHJlc3MgaW4gYFVpbnQ4QXJyYXlgIGZvcm0gYnkgZW5jb2RpbmcgaXQgYW5kXG4gICAqIGNoZWNraW5nIGlmIHRoZSBlbmNvZGVkIHZlcnNpb24gaXMgdmFsaWRcbiAgICpcbiAgICogQHBhcmFtIGFkZHJlc3MgLSBUaGUgZGVjb2RlZCBhZGRyZXNzIGFzIGEgYFVpbnQ4QXJyYXlgLlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGVuY29kZWQgYWRkcmVzcyBpcyB2YWxpZCwgYGZhbHNlYCBvdGhlcndpc2UuXG4gICAqL1xuICBwcml2YXRlIGlzVmFsaWREZWNvZGVkQWRkcmVzcyhhZGRyZXNzOiBVaW50OEFycmF5KTogYm9vbGVhbiB7XG4gICAgY29uc3QgZW5jb2RlZEFkZHJlc3MgPSB0aGlzLmdldEVuY29kZWRBZGRyZXNzKGFkZHJlc3MpO1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRFbmNvZGVkQWRkcmVzcyhlbmNvZGVkQWRkcmVzcyk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIGFuIGVuY29kZWQgYWRkcmVzcyBzdHJpbmcgYWdhaW5zdCBuZXR3b3JrLXNwZWNpZmljIGNyaXRlcmlhLlxuICAgKlxuICAgKiBAcGFyYW0gYWRkcmVzcyAtIFRoZSBlbmNvZGVkIGFkZHJlc3MgYXMgYSBgc3RyaW5nYC5cbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBhZGRyZXNzIG1lZXRzIG5ldHdvcmstc3BlY2lmaWMgdmFsaWRhdGlvbiBjcml0ZXJpYSwgYGZhbHNlYCBvdGhlcndpc2UuXG4gICAqL1xuICBwcml2YXRlIGlzVmFsaWRFbmNvZGVkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5uZXR3b3JrVHlwZSA9PT0gTmV0d29ya1R5cGUuVEVTVE5FVCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZENvc21vc0xpa2VBZGRyZXNzV2l0aE1lbW9JZChhZGRyZXNzLCBjb25zdGFudHMudGVzdG5ldEFjY291bnRBZGRyZXNzUmVnZXgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkQ29zbW9zTGlrZUFkZHJlc3NXaXRoTWVtb0lkKGFkZHJlc3MsIGNvbnN0YW50cy5tYWlubmV0QWNjb3VudEFkZHJlc3NSZWdleCk7XG4gIH1cblxuICAvKipcbiAgICogRW5jb2RlcyBhIGdpdmVuIGFkZHJlc3MgYFVpbnQ4QXJyYXlgIGludG8gYSBiZWNoMzIgc3RyaW5nIGZvcm1hdCwgYmFzZWQgb24gdGhlIGN1cnJlbnQgbmV0d29yayB0eXBlLlxuICAgKiBQcmltYXJpbHkgc2VydmVzIGFzIGEgdXRpbGl0eSB0byBjb252ZXJ0IGEgYFVpbnQ4QXJyYXlgLXR5cGUgYWRkcmVzcyB0byBhIGJlY2gzMiBlbmNvZGVkIHN0cmluZ1xuICAgKlxuICAgKiBAcGFyYW0gYWRkcmVzcyAtIFRoZSBhZGRyZXNzIHRvIGJlIGVuY29kZWQsIHByb3ZpZGVkIGFzIGEgYFVpbnQ4QXJyYXlgLlxuICAgKiBAcmV0dXJucyBBIGJlY2gzMi1lbmNvZGVkIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGFkZHJlc3MuXG4gICAqIEB0aHJvd3MgRXJyb3IgLSBUaHJvd3MgYW4gZXJyb3IgaWYgZW5jb2RpbmcgZmFpbHNcbiAgICovXG4gIGdldEVuY29kZWRBZGRyZXNzKGFkZHJlc3M6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5uZXR3b3JrVHlwZSA9PT0gTmV0d29ya1R5cGUuVEVTVE5FVFxuICAgICAgICA/IGJlY2gzMi5lbmNvZGUoVEVTVE5FVF9BRERSRVNTX1BSRUZJWCwgYWRkcmVzcylcbiAgICAgICAgOiBiZWNoMzIuZW5jb2RlKE1BSU5ORVRfQUREUkVTU19QUkVGSVgsIGFkZHJlc3MpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBlbmNvZGUgYWRkcmVzczogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcil9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlY29kZXMgYSBiZWNoMzItZW5jb2RlZCBhZGRyZXNzIHN0cmluZyBiYWNrIGludG8gYSBgVWludDhBcnJheWAuXG4gICAqIFByaW1hcmlseSBzZXJ2ZXMgYXMgYSB1dGlsaXR5IHRvIGNvbnZlcnQgYSBzdHJpbmctdHlwZSBhZGRyZXNzIGludG8gaXRzIGJpbmFyeSByZXByZXNlbnRhdGlvbixcbiAgICpcbiAgICogQHBhcmFtIGFkZHJlc3MgLSBUaGUgYmVjaDMyLWVuY29kZWQgYWRkcmVzcyBhcyBhIGBzdHJpbmdgLlxuICAgKiBAcmV0dXJucyBUaGUgZGVjb2RlZCBhZGRyZXNzIGFzIGEgYFVpbnQ4QXJyYXlgLlxuICAgKiBAdGhyb3dzIEVycm9yIC0gVGhyb3dzIGFuIGVycm9yIGlmIGRlY29kaW5nIGZhaWxzXG4gICAqL1xuICBnZXREZWNvZGVkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGJlY2gzMi5kZWNvZGUoYWRkcmVzcykuZGF0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZGVjb2RlIGFkZHJlc3M6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkVmFsaWRhdG9yQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5uZXR3b3JrVHlwZSA9PT0gTmV0d29ya1R5cGUuVEVTVE5FVCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZEJlY2gzMkFkZHJlc3NNYXRjaGluZ1JlZ2V4KGFkZHJlc3MsIGNvbnN0YW50cy50ZXN0bmV0VmFsaWRhdG9yQWRkcmVzc1JlZ2V4KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEJlY2gzMkFkZHJlc3NNYXRjaGluZ1JlZ2V4KGFkZHJlc3MsIGNvbnN0YW50cy5tYWlubmV0VmFsaWRhdG9yQWRkcmVzc1JlZ2V4KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFtb3VudChhbW91bnQ6IENvaW4pOiB2b2lkIHtcbiAgICBjb25zdCBhbW91bnRCaWcgPSBCaWdOdW1iZXIoYW1vdW50LmFtb3VudCk7XG4gICAgaWYgKGFtb3VudEJpZy5pc0xlc3NUaGFuT3JFcXVhbFRvKDApKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3RyYW5zYWN0aW9uQnVpbGRlcjogdmFsaWRhdGVBbW91bnQ6IEludmFsaWQgYW1vdW50OiAnICsgYW1vdW50LmFtb3VudCk7XG4gICAgfVxuICAgIGlmIChcbiAgICAgICh0aGlzLm5ldHdvcmtUeXBlID09PSBOZXR3b3JrVHlwZS5URVNUTkVUICYmXG4gICAgICAgICFjb25zdGFudHMudGVzdG5ldFZhbGlkRGVub21zLmZpbmQoKGRlbm9tKSA9PiBkZW5vbSA9PT0gYW1vdW50LmRlbm9tKSkgfHxcbiAgICAgICh0aGlzLm5ldHdvcmtUeXBlID09PSBOZXR3b3JrVHlwZS5NQUlOTkVUICYmXG4gICAgICAgICFjb25zdGFudHMubWFpbm5ldFZhbGlkRGVub21zLmZpbmQoKGRlbm9tKSA9PiBkZW5vbSA9PT0gYW1vdW50LmRlbm9tKSlcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBkZW5vbTogJyArIGFtb3VudC5kZW5vbSk7XG4gICAgfVxuICB9XG5cbiAgY29udmVydE1lc3NhZ2VBZGRyZXNzVG9VaW50OEFycmF5KG1lc3NhZ2VzOiBNZXNzYWdlRGF0YVtdKTogTWVzc2FnZURhdGFbXSB7XG4gICAgcmV0dXJuIG1lc3NhZ2VzLm1hcCgobWVzc2FnZSkgPT4ge1xuICAgICAgaWYgKCdmcm9tQWRkcmVzcycgaW4gbWVzc2FnZS52YWx1ZSAmJiAndG9BZGRyZXNzJyBpbiBtZXNzYWdlLnZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHNlbmRNZXNzYWdlID0gbWVzc2FnZS52YWx1ZTtcblxuICAgICAgICBjb25zdCBkZWNvZGVkRnJvbSA9XG4gICAgICAgICAgdHlwZW9mIHNlbmRNZXNzYWdlLmZyb21BZGRyZXNzID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBiZWNoMzIuZGVjb2RlKHNlbmRNZXNzYWdlLmZyb21BZGRyZXNzKS5kYXRhXG4gICAgICAgICAgICA6IHNlbmRNZXNzYWdlLmZyb21BZGRyZXNzO1xuICAgICAgICBjb25zdCBkZWNvZGVkVG8gPVxuICAgICAgICAgIHR5cGVvZiBzZW5kTWVzc2FnZS50b0FkZHJlc3MgPT09ICdzdHJpbmcnID8gYmVjaDMyLmRlY29kZShzZW5kTWVzc2FnZS50b0FkZHJlc3MpLmRhdGEgOiBzZW5kTWVzc2FnZS50b0FkZHJlc3M7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5tZXNzYWdlLFxuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAuLi5zZW5kTWVzc2FnZSxcbiAgICAgICAgICAgIGZyb21BZGRyZXNzOiBkZWNvZGVkRnJvbSxcbiAgICAgICAgICAgIHRvQWRkcmVzczogZGVjb2RlZFRvLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlVHJhbnNhY3Rpb24oXG4gICAgc2VxdWVuY2U6IG51bWJlcixcbiAgICBtZXNzYWdlczogTWVzc2FnZURhdGFbXSxcbiAgICBnYXNCdWRnZXQ6IEZlZURhdGEsXG4gICAgcHVibGljS2V5Pzogc3RyaW5nLFxuICAgIG1lbW8/OiBzdHJpbmdcbiAgKTogQ29zbW9zTGlrZVRyYW5zYWN0aW9uIHtcbiAgICBtZXNzYWdlcyA9IHRoaXMuY29udmVydE1lc3NhZ2VBZGRyZXNzVG9VaW50OEFycmF5KG1lc3NhZ2VzKTtcbiAgICBjb25zdCBjb3Ntb3NMaWtlVHhuID0ge1xuICAgICAgc2VxdWVuY2U6IHNlcXVlbmNlLFxuICAgICAgc2VuZE1lc3NhZ2VzOiBtZXNzYWdlcyxcbiAgICAgIGdhc0J1ZGdldDogZ2FzQnVkZ2V0LFxuICAgICAgcHVibGljS2V5OiBwdWJsaWNLZXksXG4gICAgICBtZW1vOiBtZW1vLFxuICAgIH07XG4gICAgdGhpcy52YWxpZGF0ZVRyYW5zYWN0aW9uKGNvc21vc0xpa2VUeG4pO1xuICAgIHJldHVybiBjb3Ntb3NMaWtlVHhuO1xuICB9XG5cbiAgZ2V0TmV0d29ya1ByZWZpeCgpIHtcbiAgICByZXR1cm4gdGhpcy5uZXR3b3JrVHlwZSA9PT0gTmV0d29ya1R5cGUuVEVTVE5FVCA/IFRFU1RORVRfQUREUkVTU19QUkVGSVggOiBNQUlOTkVUX0FERFJFU1NfUFJFRklYO1xuICB9XG59XG5cbmNvbnN0IHJ1bmVVdGlscyA9IG5ldyBSdW5lVXRpbHMoKTtcblxuZXhwb3J0IGRlZmF1bHQgcnVuZVV0aWxzO1xuIl19
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUEwRDtBQUUxRCxnRUFBcUM7QUFFckMsNERBQXFGO0FBRXJGLHVEQUF5QztBQUN6Qyw0Q0FBNkM7QUFFN0MsMkNBQTZFO0FBQzdFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUV4QyxNQUFhLFNBQVUsU0FBUSw2QkFBVztJQUV4QyxZQUFZLGNBQTJCLHFCQUFXLENBQUMsT0FBTztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxTQUF1QjtRQUNyRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLE9BQU87Z0JBQ0wsS0FBSyxFQUFFO29CQUNMLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztvQkFDdEQsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO29CQUNsRCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07aUJBQ3JCO2dCQUNELE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTzthQUN6QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxPQUE0QjtRQUN6QyxJQUFJLE9BQU8sS0FBSyxTQUFTLElBQUksT0FBTyxLQUFLLElBQUksRUFBRSxD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QUFTO3FCQUNyQjtpQkFDRixDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUNmLFFBQWdCLEVBQ2hCLFFBQXVCLEVBQ3ZCLFNBQWtCLEVBQ2xCLFNBQWtCLEVBQ2xCLElBQWE7UUFFYixRQUFRLEdBQUcsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELE1BQU0sYUFBYSxHQUFHO1lBQ3BCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFlBQVksRUFBRSxRQUFRO1lBQ3RCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4QyxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLHFCQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxrQ0FBc0IsQ0FBQyxDQUFDLENBQUMsa0NBQXNCLENBQUM7SUFDcEcsQ0FBQztDQUNGO0FBdk1ELDhCQXVNQztBQUVELE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7QUFFbEMsa0JBQWUsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQ29pbiB9IGZyb20gJ0Bjb3NtanMvc3RhcmdhdGUnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuXG5pbXBvcnQgeyBDb3Ntb3NMaWtlVHJhbnNhY3Rpb24sIENvc21vc1V0aWxzLCBGZWVEYXRhIH0gZnJvbSAnQGJpdGdvL2Fic3RyYWN0LWNvc21vcyc7XG5pbXBvcnQgeyBNZXNzYWdlRGF0YSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IE5ldHdvcmtUeXBlIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgRGVjb2RlZFR4UmF3IH0gZnJvbSAnQGNvc21qcy9wcm90by1zaWduaW5nJztcbmltcG9ydCB7IE1BSU5ORVRfQUREUkVTU19QUkVGSVgsIFRFU1RORVRfQUREUkVTU19QUkVGSVggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5jb25zdCBiZWNoMzIgPSByZXF1aXJlKCdiZWNoMzItYnVmZmVyJyk7XG5cbmV4cG9ydCBjbGFzcyBSdW5lVXRpbHMgZXh0ZW5kcyBDb3Ntb3NVdGlscyB7XG4gIHByaXZhdGUgbmV0d29ya1R5cGU6IE5ldHdvcmtUeXBlO1xuICBjb25zdHJ1Y3RvcihuZXR3b3JrVHlwZTogTmV0d29ya1R5cGUgPSBOZXR3b3JrVHlwZS5NQUlOTkVUKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm5ldHdvcmtUeXBlID0gbmV0d29ya1R5cGU7XG4gIH1cblxuICBnZXRTZW5kTWVzc2FnZURhdGFGcm9tRGVjb2RlZFR4KGRlY29kZWRUeDogRGVjb2RlZFR4UmF3KTogTWVzc2FnZURhdGFbXSB7XG4gICAgcmV0dXJuIGRlY29kZWRUeC5ib2R5Lm1lc3NhZ2VzLm1hcCgobWVzc2FnZSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnJlZ2lzdHJ5LmRlY29kZShtZXNzYWdlKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgZnJvbUFkZHJlc3M6IHRoaXMuZ2V0RW5jb2RlZEFkZHJlc3ModmFsdWUuZnJvbUFkZHJlc3MpLFxuICAgICAgICAgIHRvQWRkcmVzczogdGhpcy5nZXRFbmNvZGVkQWRkcmVzcyh2YWx1ZS50b0FkZHJlc3MpLFxuICAgICAgICAgIGFtb3VudDogdmFsdWUuYW1vdW50LFxuICAgICAgICB9LFxuICAgICAgICB0eXBlVXJsOiBtZXNzYWdlLnR5cGVVcmwsXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyB8IFVpbnQ4QXJyYXkpOiBib29sZWFuIHtcbiAgICBpZiAoYWRkcmVzcyA9PT0gdW5kZWZpbmVkIHx8IGFkZHJlc3MgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGFkZHJlc3MgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkRGVjb2RlZEFkZHJlc3MoYWRkcmVzcyk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgYWRkcmVzcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWRFbmNvZGVkQWRkcmVzcyhhZGRyZXNzKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBhIGRlY29kZWQgYWRkcmVzcyBpbiBgVWludDhBcnJheWAgZm9ybSBieSBlbmNvZGluZyBpdCBhbmRcbiAgICogY2hlY2tpbmcgaWYgdGhlIGVuY29kZWQgdmVyc2lvbiBpcyB2YWxpZFxuICAgKlxuICAgKiBAcGFyYW0gYWRkcmVzcyAtIFRoZSBkZWNvZGVkIGFkZHJlc3MgYXMgYSBgVWludDhBcnJheWAuXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgZW5jb2RlZCBhZGRyZXNzIGlzIHZhbGlkLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHByaXZhdGUgaXNWYWxpZERlY29kZWRBZGRyZXNzKGFkZHJlc3M6IFVpbnQ4QXJyYXkpOiBib29sZWFuIHtcbiAgICBjb25zdCBlbmNvZGVkQWRkcmVzcyA9IHRoaXMuZ2V0RW5jb2RlZEFkZHJlc3MoYWRkcmVzcyk7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEVuY29kZWRBZGRyZXNzKGVuY29kZWRBZGRyZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYW4gZW5jb2RlZCBhZGRyZXNzIHN0cmluZyBhZ2FpbnN0IG5ldHdvcmstc3BlY2lmaWMgY3JpdGVyaWEuXG4gICAqXG4gICAqIEBwYXJhbSBhZGRyZXNzIC0gVGhlIGVuY29kZWQgYWRkcmVzcyBhcyBhIGBzdHJpbmdgLlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGFkZHJlc3MgbWVldHMgbmV0d29yay1zcGVjaWZpYyB2YWxpZGF0aW9uIGNyaXRlcmlhLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHByaXZhdGUgaXNWYWxpZEVuY29kZWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm5ldHdvcmtUeXBlID09PSBOZXR3b3JrVHlwZS5URVNUTkVUKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkQ29zbW9zTGlrZUFkZHJlc3NXaXRoTWVtb0lkKGFkZHJlc3MsIGNvbnN0YW50cy50ZXN0bmV0QWNjb3VudEFkZHJlc3NSZWdleCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmlzVmFsaWRDb3Ntb3NMaWtlQWRkcmVzc1dpdGhNZW1vSWQoYWRkcmVzcywgY29uc3RhbnRzLm1haW5uZXRBY2NvdW50QWRkcmVzc1JlZ2V4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmNvZGVzIGEgZ2l2ZW4gYWRkcmVzcyBgVWludDhBcnJheWAgaW50byBhIGJlY2gzMiBzdHJpbmcgZm9ybWF0LCBiYXNlZCBvbiB0aGUgY3VycmVudCBuZXR3b3JrIHR5cGUuXG4gICAqIFByaW1hcmlseSBzZXJ2ZXMgYXMgYSB1dGlsaXR5IHRvIGNvbnZlcnQgYSBgVWludDhBcnJheWAtdHlwZSBhZGRyZXNzIHRvIGEgYmVjaDMyIGVuY29kZWQgc3RyaW5nXG4gICAqXG4gICAqIEBwYXJhbSBhZGRyZXNzIC0gVGhlIGFkZHJlc3MgdG8gYmUgZW5jb2RlZCwgcHJvdmlkZWQgYXMgYSBgVWludDhBcnJheWAuXG4gICAqIEByZXR1cm5zIEEgYmVjaDMyLWVuY29kZWQgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgYWRkcmVzcy5cbiAgICogQHRocm93cyBFcnJvciAtIFRocm93cyBhbiBlcnJvciBpZiBlbmNvZGluZyBmYWlsc1xuICAgKi9cbiAgZ2V0RW5jb2RlZEFkZHJlc3MoYWRkcmVzczogVWludDhBcnJheSk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLm5ldHdvcmtUeXBlID09PSBOZXR3b3JrVHlwZS5URVNUTkVUXG4gICAgICAgID8gYmVjaDMyLmVuY29kZShURVNUTkVUX0FERFJFU1NfUFJFRklYLCBhZGRyZXNzKVxuICAgICAgICA6IGJlY2gzMi5lbmNvZGUoTUFJTk5FVF9BRERSRVNTX1BSRUZJWCwgYWRkcmVzcyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGVuY29kZSBhZGRyZXNzOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVjb2RlcyBhIGJlY2gzMi1lbmNvZGVkIGFkZHJlc3Mgc3RyaW5nIGJhY2sgaW50byBhIGBVaW50OEFycmF5YC5cbiAgICogUHJpbWFyaWx5IHNlcnZlcyBhcyBhIHV0aWxpdHkgdG8gY29udmVydCBhIHN0cmluZy10eXBlIGFkZHJlc3MgaW50byBpdHMgYmluYXJ5IHJlcHJlc2VudGF0aW9uLFxuICAgKlxuICAgKiBAcGFyYW0gYWRkcmVzcyAtIFRoZSBiZWNoMzItZW5jb2RlZCBhZGRyZXNzIGFzIGEgYHN0cmluZ2AuXG4gICAqIEByZXR1cm5zIFRoZSBkZWNvZGVkIGFkZHJlc3MgYXMgYSBgVWludDhBcnJheWAuXG4gICAqIEB0aHJvd3MgRXJyb3IgLSBUaHJvd3MgYW4gZXJyb3IgaWYgZGVjb2RpbmcgZmFpbHNcbiAgICovXG4gIGdldERlY29kZWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYmVjaDMyLmRlY29kZShhZGRyZXNzKS5kYXRhO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBkZWNvZGUgYWRkcmVzczogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcil9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRWYWxpZGF0b3JBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm5ldHdvcmtUeXBlID09PSBOZXR3b3JrVHlwZS5URVNUTkVUKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkQmVjaDMyQWRkcmVzc01hdGNoaW5nUmVnZXgoYWRkcmVzcywgY29uc3RhbnRzLnRlc3RuZXRWYWxpZGF0b3JBZGRyZXNzUmVnZXgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkQmVjaDMyQWRkcmVzc01hdGNoaW5nUmVnZXgoYWRkcmVzcywgY29uc3RhbnRzLm1haW5uZXRWYWxpZGF0b3JBZGRyZXNzUmVnZXgpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlQW1vdW50KGFtb3VudDogQ29pbik6IHZvaWQge1xuICAgIGNvbnN0IGFtb3VudEJpZyA9IEJpZ051bWJlcihhbW91bnQuYW1vdW50KTtcbiAgICBpZiAoYW1vdW50QmlnLmlzTmFOKCkgfHwgYW1vdW50QmlnLmlzTGVzc1RoYW5PckVxdWFsVG8oMCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBhbW91bnQ6ICcgKyBhbW91bnQuYW1vdW50KTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZURlbm9taW5hdGlvbihhbW91bnQuZGVub20pO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgZ2FzIGxpbWl0IGFuZCBnYXMgYW1vdW50IGZvciBhIHRyYW5zYWN0aW9uLlxuICAgKiBAcGFyYW0ge0ZlZURhdGF9IGdhc0J1ZGdldCAtIFRoZSBnYXMgYnVkZ2V0IHRvIHZhbGlkYXRlLlxuICAgKiBAdGhyb3dzIHtJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcn0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBnYXMgYnVkZ2V0IGlzIGludmFsaWQuXG4gICAqL1xuICB2YWxpZGF0ZUdhc0J1ZGdldChnYXNCdWRnZXQ6IEZlZURhdGEpOiB2b2lkIHtcbiAgICBpZiAoZ2FzQnVkZ2V0Lmdhc0xpbWl0IDw9IDApIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBnYXMgbGltaXQgJyArIGdhc0J1ZGdldC5nYXNMaW1pdCk7XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVHYXNBbW91bnREYXRhKGdhc0J1ZGdldC5hbW91bnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBhbiBhcnJheSBvZiBjb2luIGFtb3VudHMuXG4gICAqIEBwYXJhbSB7Q29pbltdfSBhbW91bnRBcnJheSAtIFRoZSBhcnJheSBvZiBjb2luIGFtb3VudHMgdG8gdmFsaWRhdGUuXG4gICAqL1xuICB2YWxpZGF0ZUdhc0Ftb3VudERhdGEoYW1vdW50QXJyYXk6IENvaW5bXSk6IHZvaWQge1xuICAgIGFtb3VudEFycmF5LmZvckVhY2goKGNvaW5BbW91bnQpID0+IHtcbiAgICAgIHRoaXMudmFsaWRhdGVHYXNBbW91bnQoY29pbkFtb3VudCk7XG4gICAgfSk7XG4gIH1cblxuICB2YWxpZGF0ZUdhc0Ftb3VudChhbW91bnQ6IENvaW4pOiB2b2lkIHtcbiAgICBjb25zdCBhbW91bnRCaWcgPSBCaWdOdW1iZXIoYW1vdW50LmFtb3VudCk7XG4gICAgaWYgKGFtb3VudEJpZy5pc05hTigpIHx8IGFtb3VudEJpZy5pc0xlc3NUaGFuKDApKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3RyYW5zYWN0aW9uQnVpbGRlcjogdmFsaWRhdGVBbW91bnQ6IEludmFsaWQgYW1vdW50OiAnICsgYW1vdW50LmFtb3VudCk7XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVEZW5vbWluYXRpb24oYW1vdW50LmRlbm9tKTtcbiAgfVxuXG4gIHZhbGlkYXRlRGVub21pbmF0aW9uKGFtb3VudERlbm9tOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAodGhpcy5uZXR3b3JrVHlwZSA9PT0gTmV0d29ya1R5cGUuVEVTVE5FVCAmJlxuICAgICAgICAhY29uc3RhbnRzLnRlc3RuZXRWYWxpZERlbm9tcy5maW5kKChkZW5vbSkgPT4gZGVub20gPT09IGFtb3VudERlbm9tKSkgfHxcbiAgICAgICh0aGlzLm5ldHdvcmtUeXBlID09PSBOZXR3b3JrVHlwZS5NQUlOTkVUICYmICFjb25zdGFudHMubWFpbm5ldFZhbGlkRGVub21zLmZpbmQoKGRlbm9tKSA9PiBkZW5vbSA9PT0gYW1vdW50RGVub20pKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCd0cmFuc2FjdGlvbkJ1aWxkZXI6IHZhbGlkYXRlQW1vdW50OiBJbnZhbGlkIGRlbm9tOiAnICsgYW1vdW50RGVub20pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnZlcnRNZXNzYWdlQWRkcmVzc1RvVWludDhBcnJheShtZXNzYWdlczogTWVzc2FnZURhdGFbXSk6IE1lc3NhZ2VEYXRhW10ge1xuICAgIHJldHVybiBtZXNzYWdlcy5tYXAoKG1lc3NhZ2UpID0+IHtcbiAgICAgIGlmICgnZnJvbUFkZHJlc3MnIGluIG1lc3NhZ2UudmFsdWUgJiYgJ3RvQWRkcmVzcycgaW4gbWVzc2FnZS52YWx1ZSkge1xuICAgICAgICBjb25zdCBzZW5kTWVzc2FnZSA9IG1lc3NhZ2UudmFsdWU7XG5cbiAgICAgICAgY29uc3QgZGVjb2RlZEZyb20gPVxuICAgICAgICAgIHR5cGVvZiBzZW5kTWVzc2FnZS5mcm9tQWRkcmVzcyA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgID8gYmVjaDMyLmRlY29kZShzZW5kTWVzc2FnZS5mcm9tQWRkcmVzcykuZGF0YVxuICAgICAgICAgICAgOiBzZW5kTWVzc2FnZS5mcm9tQWRkcmVzcztcbiAgICAgICAgY29uc3QgZGVjb2RlZFRvID1cbiAgICAgICAgICB0eXBlb2Ygc2VuZE1lc3NhZ2UudG9BZGRyZXNzID09PSAnc3RyaW5nJyA/IGJlY2gzMi5kZWNvZGUoc2VuZE1lc3NhZ2UudG9BZGRyZXNzKS5kYXRhIDogc2VuZE1lc3NhZ2UudG9BZGRyZXNzO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ubWVzc2FnZSxcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgLi4uc2VuZE1lc3NhZ2UsXG4gICAgICAgICAgICBmcm9tQWRkcmVzczogZGVjb2RlZEZyb20sXG4gICAgICAgICAgICB0b0FkZHJlc3M6IGRlY29kZWRUbyxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZVRyYW5zYWN0aW9uKFxuICAgIHNlcXVlbmNlOiBudW1iZXIsXG4gICAgbWVzc2FnZXM6IE1lc3NhZ2VEYXRhW10sXG4gICAgZ2FzQnVkZ2V0OiBGZWVEYXRhLFxuICAgIHB1YmxpY0tleT86IHN0cmluZyxcbiAgICBtZW1vPzogc3RyaW5nXG4gICk6IENvc21vc0xpa2VUcmFuc2FjdGlvbiB7XG4gICAgbWVzc2FnZXMgPSB0aGlzLmNvbnZlcnRNZXNzYWdlQWRkcmVzc1RvVWludDhBcnJheShtZXNzYWdlcyk7XG4gICAgY29uc3QgY29zbW9zTGlrZVR4biA9IHtcbiAgICAgIHNlcXVlbmNlOiBzZXF1ZW5jZSxcbiAgICAgIHNlbmRNZXNzYWdlczogbWVzc2FnZXMsXG4gICAgICBnYXNCdWRnZXQ6IGdhc0J1ZGdldCxcbiAgICAgIHB1YmxpY0tleTogcHVibGljS2V5LFxuICAgICAgbWVtbzogbWVtbyxcbiAgICB9O1xuICAgIHRoaXMudmFsaWRhdGVUcmFuc2FjdGlvbihjb3Ntb3NMaWtlVHhuKTtcbiAgICByZXR1cm4gY29zbW9zTGlrZVR4bjtcbiAgfVxuXG4gIGdldE5ldHdvcmtQcmVmaXgoKSB7XG4gICAgcmV0dXJuIHRoaXMubmV0d29ya1R5cGUgPT09IE5ldHdvcmtUeXBlLlRFU1RORVQgPyBURVNUTkVUX0FERFJFU1NfUFJFRklYIDogTUFJTk5FVF9BRERSRVNTX1BSRUZJWDtcbiAgfVxufVxuXG5jb25zdCBydW5lVXRpbHMgPSBuZXcgUnVuZVV0aWxzKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHJ1bmVVdGlscztcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo/sdk-coin-rune",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"description": "BitGo SDK coin library for Thorchain",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
]
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@bitgo/abstract-cosmos": "^11.2.
|
|
44
|
-
"@bitgo/sdk-core": "^28.15.
|
|
45
|
-
"@bitgo/statics": "^50.
|
|
43
|
+
"@bitgo/abstract-cosmos": "^11.2.8",
|
|
44
|
+
"@bitgo/sdk-core": "^28.15.2",
|
|
45
|
+
"@bitgo/statics": "^50.13.0",
|
|
46
46
|
"@cosmjs/amino": "^0.29.5",
|
|
47
47
|
"@cosmjs/encoding": "^0.29.5",
|
|
48
48
|
"@cosmjs/proto-signing": "^0.29.5",
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"lodash": "^4.17.21"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@bitgo/sdk-api": "^1.57.
|
|
56
|
-
"@bitgo/sdk-test": "^8.0.
|
|
55
|
+
"@bitgo/sdk-api": "^1.57.1",
|
|
56
|
+
"@bitgo/sdk-test": "^8.0.57"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "444cc26b5b43a72a25f7a6930beadce749fc88e3"
|
|
59
59
|
}
|