@bitgo-beta/sdk-coin-vet 1.0.0-alpha.21 → 1.0.0-alpha.23
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 +21 -0
- package/dist/src/lib/transaction/addressInitializationTransaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/addressInitializationTransaction.js +9 -1
- package/dist/src/lib/transaction/flushTokenTransaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/flushTokenTransaction.js +5 -1
- package/dist/src/lib/transaction/transaction.d.ts +4 -10
- package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/transaction.js +74 -79
- package/dist/src/lib/transactionBuilder/transactionBuilder.d.ts +3 -3
- package/dist/src/lib/transactionBuilder/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder/transactionBuilder.js +7 -7
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,27 @@
|
|
|
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
|
+
# [2.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-vet@1.6.2...@bitgo/sdk-coin-vet@2.0.0) (2025-07-10)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **sdk-coin-vet:** correct signable payload for vechain transaction ([9152ce6](https://github.com/BitGo/BitGoJS/commit/9152ce6cf781a69762d0298aa88133438f70fda9))
|
|
11
|
+
- **sdk-coin-vet:** fix issues in addressinit builder and flushtoken builder ([ac55b9f](https://github.com/BitGo/BitGoJS/commit/ac55b9ff10331bdd864ea7e903ee983944ca4cd0))
|
|
12
|
+
- **sdk-coin-vet:** fix issues in fromRawTransaction ([3502030](https://github.com/BitGo/BitGoJS/commit/35020301db5ea6ef21afa44c5830d6a53a624174))
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
- **sdk-coin-vet:** add address init builder ([09f5b21](https://github.com/BitGo/BitGoJS/commit/09f5b211deb3ee0b29b13d9844937ea02d712525))
|
|
17
|
+
- **sdk-coin-vet:** add flushtoken txbuilder ([f28db93](https://github.com/BitGo/BitGoJS/commit/f28db93b1a2a48dca326e4a01fcc2bac00b458e0))
|
|
18
|
+
|
|
19
|
+
### BREAKING CHANGES
|
|
20
|
+
|
|
21
|
+
- **sdk-coin-vet:** interface TxData has been removed from sdk-coin-vet
|
|
22
|
+
|
|
23
|
+
interface VetTransactionData has been moved from modules/sdk-coin-vet/src/lib/transaction/transaction.ts to modules/sdk-coin-vet/src/lib/iface.ts
|
|
24
|
+
|
|
25
|
+
fromImplementation method has been moved from modules/sdk-coin-vet/src/lib/transactionBuilder/transactionBuilder.ts to modules/sdk-coin-vet/src/lib/transactionBuilder/transferBuilder.ts
|
|
26
|
+
|
|
6
27
|
## [1.6.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-vet@1.6.1...@bitgo/sdk-coin-vet@1.6.2) (2025-07-03)
|
|
7
28
|
|
|
8
29
|
**Note:** Version bump only for package @bitgo/sdk-coin-vet
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addressInitializationTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/addressInitializationTransaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addressInitializationTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/addressInitializationTransaction.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAG9E,OAAO,EAAE,WAAW,IAAI,cAAc,EAAa,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,qBAAa,gCAAiC,SAAQ,WAAW;IAC/D,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,EAE9B;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,EAE7B;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAEpB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAE5B;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,EAElC;IAED,kBAAkB;IACZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB5B,kBAAkB;IAClB,YAAY,IAAI,IAAI;IAUpB,kBAAkB;IAClB,MAAM,IAAI,kBAAkB;IAmB5B,kBAAkB;IAClB,iCAAiC,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAmDlE"}
|
|
@@ -139,6 +139,14 @@ class AddressInitializationTransaction extends transaction_1.Transaction {
|
|
|
139
139
|
// Set data from clauses
|
|
140
140
|
this.contract = body.clauses[0]?.to || '0x0';
|
|
141
141
|
this.transactionData = body.clauses[0]?.data || '0x0';
|
|
142
|
+
this.type = sdk_core_1.TransactionType.AddressInitialization;
|
|
143
|
+
const { baseAddress, addressCreationSalt, feeAddress } = (0, abstract_eth_1.decodeForwarderCreationData)(this.transactionData);
|
|
144
|
+
this.baseAddress = baseAddress;
|
|
145
|
+
this.salt = addressCreationSalt;
|
|
146
|
+
this.feeAddress = feeAddress;
|
|
147
|
+
const forwarderImplementationAddress = this._coinConfig.network
|
|
148
|
+
.forwarderImplementationAddress;
|
|
149
|
+
this.initCode = (0, abstract_eth_1.getProxyInitcode)(forwarderImplementationAddress);
|
|
142
150
|
// Set sender address
|
|
143
151
|
if (signedTx.origin) {
|
|
144
152
|
this.sender = signedTx.origin.toString().toLowerCase();
|
|
@@ -159,4 +167,4 @@ class AddressInitializationTransaction extends transaction_1.Transaction {
|
|
|
159
167
|
}
|
|
160
168
|
}
|
|
161
169
|
exports.AddressInitializationTransaction = AddressInitializationTransaction;
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc0luaXRpYWxpemF0aW9uVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL2FkZHJlc3NJbml0aWFsaXphdGlvblRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUFnRjtBQUNoRiwyREFBeUc7QUFFekcseURBQTJDO0FBQzNDLG9FQUF5QztBQUN6QyxnREFBNkU7QUFDN0UsK0NBQTRDO0FBRzVDLE1BQWEsZ0NBQWlDLFNBQVEseUJBQVc7SUFPL0QsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLHFCQUFxQixDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLE9BQWU7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsT0FBZTtRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFZO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQWdCO1FB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Q0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekQsQ0FBQztZQUVELDRCQUE0QjtZQUM1QixJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdkIsd0NBQXdDO2dCQUN4QyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLG9CQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2dCQUU1Rix1RUFBdUU7Z0JBQ3ZFLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsb0JBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO29CQUMzRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxvQkFBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztnQkFDN0YsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDdkYsQ0FBQztJQUNILENBQUM7Q0FDRjtBQW5KRCw0RUFtSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgZ2V0Q3JlYXRlRm9yd2FyZGVyUGFyYW1zQW5kVHlwZXMsIGNhbGN1bGF0ZUZvcndhcmRlclYxQWRkcmVzcyB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWV0aCc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgKiBhcyBldGhVdGlsIGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQgRXRoZXJldW1BYmkgZnJvbSAnZXRoZXJldW1qcy1hYmknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgVmV0VHJhbnNhY3Rpb24sIFNlY3AyNTZrMSB9IGZyb20gJ0B2ZWNoYWluL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBWZXRUcmFuc2FjdGlvbkRhdGEgfSBmcm9tICcuLi9pZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzSW5pdGlhbGl6YXRpb25UcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uIHtcbiAgcHJpdmF0ZSBfYmFzZUFkZHJlc3M6IHN0cmluZztcbiAgcHJpdmF0ZSBfZmVlQWRkcmVzczogc3RyaW5nO1xuICBwcml2YXRlIF9zYWx0OiBzdHJpbmc7XG4gIHByaXZhdGUgX2luaXRDb2RlOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RlcGxveWVkQWRkcmVzczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLkFkZHJlc3NJbml0aWFsaXphdGlvbjtcbiAgfVxuXG4gIGdldCBiYXNlQWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9iYXNlQWRkcmVzcztcbiAgfVxuXG4gIHNldCBiYXNlQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9iYXNlQWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICBnZXQgZmVlQWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mZWVBZGRyZXNzO1xuICB9XG5cbiAgc2V0IGZlZUFkZHJlc3MoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgdGhpcy5fZmVlQWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICBnZXQgc2FsdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zYWx0O1xuICB9XG5cbiAgc2V0IHNhbHQoc2FsdDogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2FsdCA9IHNhbHQ7XG4gIH1cblxuICBnZXQgaW5pdENvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faW5pdENvZGU7XG4gIH1cblxuICBzZXQgaW5pdENvZGUoaW5pdENvZGU6IHN0cmluZykge1xuICAgIHRoaXMuX2luaXRDb2RlID0gaW5pdENvZGU7XG4gIH1cblxuICBnZXQgZGVwbG95ZWRBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2RlcGxveWVkQWRkcmVzcztcbiAgfVxuXG4gIHNldCBkZXBsb3llZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGVwbG95ZWRBZGRyZXNzID0gYWRkcmVzcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBzdXBlci5idWlsZCgpO1xuXG4gICAgaWYgKHRoaXMuX3NhbHQgJiYgdGhpcy5faW5pdENvZGUpIHtcbiAgICAgIGNvbnN0IHNhbHRCdWZmZXIgPSBldGhVdGlsLnNldExlbmd0aExlZnQoZXRoVXRpbC50b0J1ZmZlcih0aGlzLl9zYWx0KSwgMzIpO1xuXG4gICAgICBjb25zdCB7IGNyZWF0ZUZvcndhcmRlclBhcmFtcywgY3JlYXRlRm9yd2FyZGVyVHlwZXMgfSA9IGdldENyZWF0ZUZvcndhcmRlclBhcmFtc0FuZFR5cGVzKFxuICAgICAgICB0aGlzLl9iYXNlQWRkcmVzcyxcbiAgICAgICAgc2FsdEJ1ZmZlcixcbiAgICAgICAgdGhpcy5fZmVlQWRkcmVzc1xuICAgICAgKTtcblxuICAgICAgLy8gSGFzaCB0aGUgd2FsbGV0IGJhc2UgYWRkcmVzcyBhbmQgZmVlIGFkZHJlc3MgaWYgcHJlc2VudCB3aXRoIHRoZSBnaXZlbiBzYWx0LCBzbyB0aGUgYWRkcmVzcyBkaXJlY3RseSByZWxpZXMgb24gdGhlIGJhc2UgYWRkcmVzcyBhbmQgZmVlIGFkZHJlc3NcbiAgICAgIGNvbnN0IGNhbGN1bGF0aW9uU2FsdCA9IGV0aFV0aWwuYnVmZmVyVG9IZXgoXG4gICAgICAgIEV0aGVyZXVtQWJpLnNvbGlkaXR5U0hBMyhjcmVhdGVGb3J3YXJkZXJUeXBlcywgY3JlYXRlRm9yd2FyZGVyUGFyYW1zKVxuICAgICAgKTtcbiAgICAgIHRoaXMuZGVwbG95ZWRBZGRyZXNzID0gY2FsY3VsYXRlRm9yd2FyZGVyVjFBZGRyZXNzKHRoaXMuX2NvbnRyYWN0LCBjYWxjdWxhdGlvblNhbHQsIHRoaXMuX2luaXRDb2RlKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgYnVpbGRDbGF1c2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NsYXVzZXMgPSBbXG4gICAgICB7XG4gICAgICAgIHRvOiB0aGlzLl9jb250cmFjdCxcbiAgICAgICAgdmFsdWU6ICcweDAnLFxuICAgICAgICBkYXRhOiB0aGlzLl90cmFuc2FjdGlvbkRhdGEsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Kc29uKCk6IFZldFRyYW5zYWN0aW9uRGF0YSB7XG4gICAgY29uc3QganNvbjogVmV0VHJhbnNhY3Rpb25EYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBjaGFpblRhZzogdGhpcy5jaGFpblRhZyxcbiAgICAgIGJsb2NrUmVmOiB0aGlzLmJsb2NrUmVmLFxuICAgICAgZXhwaXJhdGlvbjogdGhpcy5leHBpcmF0aW9uLFxuICAgICAgZ2FzUHJpY2VDb2VmOiB0aGlzLmdhc1ByaWNlQ29lZixcbiAgICAgIGdhczogdGhpcy5nYXMsXG4gICAgICBkZXBlbmRzT246IHRoaXMuZGVwZW5kc09uLFxuICAgICAgbm9uY2U6IHRoaXMubm9uY2UsXG4gICAgICBkYXRhOiB0aGlzLnRyYW5zYWN0aW9uRGF0YSxcbiAgICAgIHZhbHVlOiAnMCcsXG4gICAgICBzZW5kZXI6IHRoaXMuc2VuZGVyLFxuICAgICAgdG86IHRoaXMuY29udHJhY3QsXG4gICAgICBkZXBsb3llZEFkZHJlc3M6IHRoaXMuZGVwbG95ZWRBZGRyZXNzLFxuICAgIH07XG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4OiBWZXRUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIXNpZ25lZFR4IHx8ICFzaWduZWRUeC5ib2R5KSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyB0cmFuc2FjdGlvbiBib2R5Jyk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0b3JlIHRoZSByYXcgdHJhbnNhY3Rpb25cbiAgICAgIHRoaXMucmF3VHJhbnNhY3Rpb24gPSBzaWduZWRUeDtcblxuICAgICAgLy8gU2V0IHRyYW5zYWN0aW9uIGJvZHkgcHJvcGVydGllc1xuICAgICAgY29uc3QgYm9keSA9IHNpZ25lZFR4LmJvZHk7XG4gICAgICB0aGlzLmNoYWluVGFnID0gdHlwZW9mIGJvZHkuY2hhaW5UYWcgPT09ICdudW1iZXInID8gYm9keS5jaGFpblRhZyA6IDA7XG4gICAgICB0aGlzLmJsb2NrUmVmID0gYm9keS5ibG9ja1JlZiB8fCAnMHgwJztcbiAgICAgIHRoaXMuZXhwaXJhdGlvbiA9IHR5cGVvZiBib2R5LmV4cGlyYXRpb24gPT09ICdudW1iZXInID8gYm9keS5leHBpcmF0aW9uIDogNjQ7XG4gICAgICB0aGlzLmNsYXVzZXMgPSBib2R5LmNsYXVzZXMgfHwgW107XG4gICAgICB0aGlzLmdhc1ByaWNlQ29lZiA9IHR5cGVvZiBib2R5Lmdhc1ByaWNlQ29lZiA9PT0gJ251bWJlcicgPyBib2R5Lmdhc1ByaWNlQ29lZiA6IDEyODtcbiAgICAgIHRoaXMuZ2FzID0gdHlwZW9mIGJvZHkuZ2FzID09PSAnbnVtYmVyJyA/IGJvZHkuZ2FzIDogTnVtYmVyKGJvZHkuZ2FzKSB8fCAwO1xuICAgICAgdGhpcy5kZXBlbmRzT24gPSBib2R5LmRlcGVuZHNPbiB8fCBudWxsO1xuICAgICAgdGhpcy5ub25jZSA9IHR5cGVvZiBib2R5Lm5vbmNlID09PSAnbnVtYmVyJyA/IGJvZHkubm9uY2UgOiBOdW1iZXIoYm9keS5ub25jZSkgfHwgMDtcbiAgICAgIC8vIFNldCBkYXRhIGZyb20gY2xhdXNlc1xuICAgICAgdGhpcy5jb250cmFjdCA9IGJvZHkuY2xhdXNlc1swXT8udG8gfHwgJzB4MCc7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRGF0YSA9IGJvZHkuY2xhdXNlc1swXT8uZGF0YSB8fCAnMHgwJztcblxuICAgICAgLy8gU2V0IHNlbmRlciBhZGRyZXNzXG4gICAgICBpZiAoc2lnbmVkVHgub3JpZ2luKSB7XG4gICAgICAgIHRoaXMuc2VuZGVyID0gc2lnbmVkVHgub3JpZ2luLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2V0IHNpZ25hdHVyZXMgaWYgcHJlc2VudFxuICAgICAgaWYgKHNpZ25lZFR4LnNpZ25hdHVyZSkge1xuICAgICAgICAvLyBGaXJzdCBzaWduYXR1cmUgaXMgc2VuZGVyJ3Mgc2lnbmF0dXJlXG4gICAgICAgIHRoaXMuc2VuZGVyU2lnbmF0dXJlID0gQnVmZmVyLmZyb20oc2lnbmVkVHguc2lnbmF0dXJlLnNsaWNlKDAsIFNlY3AyNTZrMS5TSUdOQVRVUkVfTEVOR1RIKSk7XG5cbiAgICAgICAgLy8gSWYgdGhlcmUncyBhZGRpdGlvbmFsIHNpZ25hdHVyZSBkYXRhLCBpdCdzIHRoZSBmZWUgcGF5ZXIncyBzaWduYXR1cmVcbiAgICAgICAgaWYgKHNpZ25lZFR4LnNpZ25hdHVyZS5sZW5ndGggPiBTZWNwMjU2azEuU0lHTkFUVVJFX0xFTkdUSCkge1xuICAgICAgICAgIHRoaXMuZmVlUGF5ZXJTaWduYXR1cmUgPSBCdWZmZXIuZnJvbShzaWduZWRUeC5zaWduYXR1cmUuc2xpY2UoU2VjcDI1NmsxLlNJR05BVFVSRV9MRU5HVEgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgRmFpbGVkIHRvIGRlc2VyaWFsaXplIHRyYW5zYWN0aW9uOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc0luaXRpYWxpemF0aW9uVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL2FkZHJlc3NJbml0aWFsaXphdGlvblRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUFnRjtBQUNoRiwyREFLa0M7QUFFbEMseURBQTJDO0FBQzNDLG9FQUF5QztBQUN6QyxnREFBNkU7QUFDN0UsK0NBQTRDO0FBRzVDLE1BQWEsZ0NBQWlDLFNBQVEseUJBQVc7SUFPL0QsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLHFCQUFxQixDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLE9BQWU7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsT0FBZTtRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFZO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQWdCO1FB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QyxzQ0FBc0MsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDdkYsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTNKRCw0RUEySkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0Q3JlYXRlRm9yd2FyZGVyUGFyYW1zQW5kVHlwZXMsXG4gIGNhbGN1bGF0ZUZvcndhcmRlclYxQWRkcmVzcyxcbiAgZGVjb2RlRm9yd2FyZGVyQ3JlYXRpb25EYXRhLFxuICBnZXRQcm94eUluaXRjb2RlLFxufSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1ldGgnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZywgRXRoZXJldW1OZXR3b3JrIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgKiBhcyBldGhVdGlsIGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQgRXRoZXJldW1BYmkgZnJvbSAnZXRoZXJldW1qcy1hYmknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgVmV0VHJhbnNhY3Rpb24sIFNlY3AyNTZrMSB9IGZyb20gJ0B2ZWNoYWluL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBWZXRUcmFuc2FjdGlvbkRhdGEgfSBmcm9tICcuLi9pZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzSW5pdGlhbGl6YXRpb25UcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uIHtcbiAgcHJpdmF0ZSBfYmFzZUFkZHJlc3M6IHN0cmluZztcbiAgcHJpdmF0ZSBfZmVlQWRkcmVzczogc3RyaW5nO1xuICBwcml2YXRlIF9zYWx0OiBzdHJpbmc7XG4gIHByaXZhdGUgX2luaXRDb2RlOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RlcGxveWVkQWRkcmVzczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLkFkZHJlc3NJbml0aWFsaXphdGlvbjtcbiAgfVxuXG4gIGdldCBiYXNlQWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9iYXNlQWRkcmVzcztcbiAgfVxuXG4gIHNldCBiYXNlQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9iYXNlQWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICBnZXQgZmVlQWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mZWVBZGRyZXNzO1xuICB9XG5cbiAgc2V0IGZlZUFkZHJlc3MoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgdGhpcy5fZmVlQWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICBnZXQgc2FsdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zYWx0O1xuICB9XG5cbiAgc2V0IHNhbHQoc2FsdDogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2FsdCA9IHNhbHQ7XG4gIH1cblxuICBnZXQgaW5pdENvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faW5pdENvZGU7XG4gIH1cblxuICBzZXQgaW5pdENvZGUoaW5pdENvZGU6IHN0cmluZykge1xuICAgIHRoaXMuX2luaXRDb2RlID0gaW5pdENvZGU7XG4gIH1cblxuICBnZXQgZGVwbG95ZWRBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2RlcGxveWVkQWRkcmVzcztcbiAgfVxuXG4gIHNldCBkZXBsb3llZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGVwbG95ZWRBZGRyZXNzID0gYWRkcmVzcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBzdXBlci5idWlsZCgpO1xuICAgIGlmICh0aGlzLl9zYWx0ICYmIHRoaXMuX2luaXRDb2RlKSB7XG4gICAgICBjb25zdCBzYWx0QnVmZmVyID0gZXRoVXRpbC5zZXRMZW5ndGhMZWZ0KGV0aFV0aWwudG9CdWZmZXIodGhpcy5fc2FsdCksIDMyKTtcblxuICAgICAgY29uc3QgeyBjcmVhdGVGb3J3YXJkZXJQYXJhbXMsIGNyZWF0ZUZvcndhcmRlclR5cGVzIH0gPSBnZXRDcmVhdGVGb3J3YXJkZXJQYXJhbXNBbmRUeXBlcyhcbiAgICAgICAgdGhpcy5fYmFzZUFkZHJlc3MsXG4gICAgICAgIHNhbHRCdWZmZXIsXG4gICAgICAgIHRoaXMuX2ZlZUFkZHJlc3NcbiAgICAgICk7XG5cbiAgICAgIC8vIEhhc2ggdGhlIHdhbGxldCBiYXNlIGFkZHJlc3MgYW5kIGZlZSBhZGRyZXNzIGlmIHByZXNlbnQgd2l0aCB0aGUgZ2l2ZW4gc2FsdCwgc28gdGhlIGFkZHJlc3MgZGlyZWN0bHkgcmVsaWVzIG9uIHRoZSBiYXNlIGFkZHJlc3MgYW5kIGZlZSBhZGRyZXNzXG4gICAgICBjb25zdCBjYWxjdWxhdGlvblNhbHQgPSBldGhVdGlsLmJ1ZmZlclRvSGV4KFxuICAgICAgICBFdGhlcmV1bUFiaS5zb2xpZGl0eVNIQTMoY3JlYXRlRm9yd2FyZGVyVHlwZXMsIGNyZWF0ZUZvcndhcmRlclBhcmFtcylcbiAgICAgICk7XG4gICAgICB0aGlzLmRlcGxveWVkQWRkcmVzcyA9IGNhbGN1bGF0ZUZvcndhcmRlclYxQWRkcmVzcyh0aGlzLl9jb250cmFjdCwgY2FsY3VsYXRpb25TYWx0LCB0aGlzLl9pbml0Q29kZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGJ1aWxkQ2xhdXNlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jbGF1c2VzID0gW1xuICAgICAge1xuICAgICAgICB0bzogdGhpcy5fY29udHJhY3QsXG4gICAgICAgIHZhbHVlOiAnMHgwJyxcbiAgICAgICAgZGF0YTogdGhpcy5fdHJhbnNhY3Rpb25EYXRhLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBWZXRUcmFuc2FjdGlvbkRhdGEge1xuICAgIGNvbnN0IGpzb246IFZldFRyYW5zYWN0aW9uRGF0YSA9IHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgY2hhaW5UYWc6IHRoaXMuY2hhaW5UYWcsXG4gICAgICBibG9ja1JlZjogdGhpcy5ibG9ja1JlZixcbiAgICAgIGV4cGlyYXRpb246IHRoaXMuZXhwaXJhdGlvbixcbiAgICAgIGdhc1ByaWNlQ29lZjogdGhpcy5nYXNQcmljZUNvZWYsXG4gICAgICBnYXM6IHRoaXMuZ2FzLFxuICAgICAgZGVwZW5kc09uOiB0aGlzLmRlcGVuZHNPbixcbiAgICAgIG5vbmNlOiB0aGlzLm5vbmNlLFxuICAgICAgZGF0YTogdGhpcy50cmFuc2FjdGlvbkRhdGEsXG4gICAgICB2YWx1ZTogJzAnLFxuICAgICAgc2VuZGVyOiB0aGlzLnNlbmRlcixcbiAgICAgIHRvOiB0aGlzLmNvbnRyYWN0LFxuICAgICAgZGVwbG95ZWRBZGRyZXNzOiB0aGlzLmRlcGxveWVkQWRkcmVzcyxcbiAgICB9O1xuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGZyb21EZXNlcmlhbGl6ZWRTaWduZWRUcmFuc2FjdGlvbihzaWduZWRUeDogVmV0VHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFzaWduZWRUeCB8fCAhc2lnbmVkVHguYm9keSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgdHJhbnNhY3Rpb24gYm9keScpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdG9yZSB0aGUgcmF3IHRyYW5zYWN0aW9uXG4gICAgICB0aGlzLnJhd1RyYW5zYWN0aW9uID0gc2lnbmVkVHg7XG5cbiAgICAgIC8vIFNldCB0cmFuc2FjdGlvbiBib2R5IHByb3BlcnRpZXNcbiAgICAgIGNvbnN0IGJvZHkgPSBzaWduZWRUeC5ib2R5O1xuICAgICAgdGhpcy5jaGFpblRhZyA9IHR5cGVvZiBib2R5LmNoYWluVGFnID09PSAnbnVtYmVyJyA/IGJvZHkuY2hhaW5UYWcgOiAwO1xuICAgICAgdGhpcy5ibG9ja1JlZiA9IGJvZHkuYmxvY2tSZWYgfHwgJzB4MCc7XG4gICAgICB0aGlzLmV4cGlyYXRpb24gPSB0eXBlb2YgYm9keS5leHBpcmF0aW9uID09PSAnbnVtYmVyJyA/IGJvZHkuZXhwaXJhdGlvbiA6IDY0O1xuICAgICAgdGhpcy5jbGF1c2VzID0gYm9keS5jbGF1c2VzIHx8IFtdO1xuICAgICAgdGhpcy5nYXNQcmljZUNvZWYgPSB0eXBlb2YgYm9keS5nYXNQcmljZUNvZWYgPT09ICdudW1iZXInID8gYm9keS5nYXNQcmljZUNvZWYgOiAxMjg7XG4gICAgICB0aGlzLmdhcyA9IHR5cGVvZiBib2R5LmdhcyA9PT0gJ251bWJlcicgPyBib2R5LmdhcyA6IE51bWJlcihib2R5LmdhcykgfHwgMDtcbiAgICAgIHRoaXMuZGVwZW5kc09uID0gYm9keS5kZXBlbmRzT24gfHwgbnVsbDtcbiAgICAgIHRoaXMubm9uY2UgPSB0eXBlb2YgYm9keS5ub25jZSA9PT0gJ251bWJlcicgPyBib2R5Lm5vbmNlIDogTnVtYmVyKGJvZHkubm9uY2UpIHx8IDA7XG4gICAgICAvLyBTZXQgZGF0YSBmcm9tIGNsYXVzZXNcbiAgICAgIHRoaXMuY29udHJhY3QgPSBib2R5LmNsYXVzZXNbMF0/LnRvIHx8ICcweDAnO1xuICAgICAgdGhpcy50cmFuc2FjdGlvbkRhdGEgPSBib2R5LmNsYXVzZXNbMF0/LmRhdGEgfHwgJzB4MCc7XG4gICAgICB0aGlzLnR5cGUgPSBUcmFuc2FjdGlvblR5cGUuQWRkcmVzc0luaXRpYWxpemF0aW9uO1xuICAgICAgY29uc3QgeyBiYXNlQWRkcmVzcywgYWRkcmVzc0NyZWF0aW9uU2FsdCwgZmVlQWRkcmVzcyB9ID0gZGVjb2RlRm9yd2FyZGVyQ3JlYXRpb25EYXRhKHRoaXMudHJhbnNhY3Rpb25EYXRhKTtcblxuICAgICAgdGhpcy5iYXNlQWRkcmVzcyA9IGJhc2VBZGRyZXNzIGFzIHN0cmluZztcbiAgICAgIHRoaXMuc2FsdCA9IGFkZHJlc3NDcmVhdGlvblNhbHQgYXMgc3RyaW5nO1xuICAgICAgdGhpcy5mZWVBZGRyZXNzID0gZmVlQWRkcmVzcyBhcyBzdHJpbmc7XG4gICAgICBjb25zdCBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAodGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaylcbiAgICAgICAgLmZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyBhcyBzdHJpbmc7XG4gICAgICB0aGlzLmluaXRDb2RlID0gZ2V0UHJveHlJbml0Y29kZShmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MpO1xuXG4gICAgICAvLyBTZXQgc2VuZGVyIGFkZHJlc3NcbiAgICAgIGlmIChzaWduZWRUeC5vcmlnaW4pIHtcbiAgICAgICAgdGhpcy5zZW5kZXIgPSBzaWduZWRUeC5vcmlnaW4udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXQgc2lnbmF0dXJlcyBpZiBwcmVzZW50XG4gICAgICBpZiAoc2lnbmVkVHguc2lnbmF0dXJlKSB7XG4gICAgICAgIC8vIEZpcnN0IHNpZ25hdHVyZSBpcyBzZW5kZXIncyBzaWduYXR1cmVcbiAgICAgICAgdGhpcy5zZW5kZXJTaWduYXR1cmUgPSBCdWZmZXIuZnJvbShzaWduZWRUeC5zaWduYXR1cmUuc2xpY2UoMCwgU2VjcDI1NmsxLlNJR05BVFVSRV9MRU5HVEgpKTtcblxuICAgICAgICAvLyBJZiB0aGVyZSdzIGFkZGl0aW9uYWwgc2lnbmF0dXJlIGRhdGEsIGl0J3MgdGhlIGZlZSBwYXllcidzIHNpZ25hdHVyZVxuICAgICAgICBpZiAoc2lnbmVkVHguc2lnbmF0dXJlLmxlbmd0aCA+IFNlY3AyNTZrMS5TSUdOQVRVUkVfTEVOR1RIKSB7XG4gICAgICAgICAgdGhpcy5mZWVQYXllclNpZ25hdHVyZSA9IEJ1ZmZlci5mcm9tKHNpZ25lZFR4LnNpZ25hdHVyZS5zbGljZShTZWNwMjU2azEuU0lHTkFUVVJFX0xFTkdUSCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBGYWlsZWQgdG8gZGVzZXJpYWxpemUgdHJhbnNhY3Rpb246ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flushTokenTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/flushTokenTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,IAAI,cAAc,EAAa,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"flushTokenTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/flushTokenTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,IAAI,cAAc,EAAa,MAAM,mBAAmB,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,aAAa,CAAS;gBAElB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAE5C;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAE/B;IAED,kBAAkB;IAClB,YAAY,IAAI,IAAI;IAUpB,kBAAkB;IAClB,MAAM,IAAI,kBAAkB;IAmB5B,kBAAkB;IAClB,iCAAiC,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CA6ClE"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FlushTokenTransaction = void 0;
|
|
4
4
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
5
|
const sdk_core_2 = require("@vechain/sdk-core");
|
|
6
|
+
const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
|
|
6
7
|
const transaction_1 = require("./transaction");
|
|
7
8
|
class FlushTokenTransaction extends transaction_1.Transaction {
|
|
8
9
|
constructor(_coinConfig) {
|
|
@@ -71,6 +72,9 @@ class FlushTokenTransaction extends transaction_1.Transaction {
|
|
|
71
72
|
// Set data from clauses
|
|
72
73
|
this.contract = body.clauses[0]?.to || '0x0';
|
|
73
74
|
this.transactionData = body.clauses[0]?.data || '0x0';
|
|
75
|
+
this.type = sdk_core_1.TransactionType.FlushTokens;
|
|
76
|
+
const { tokenAddress } = (0, abstract_eth_1.decodeFlushTokensData)(this.transactionData, this.contract);
|
|
77
|
+
this.tokenAddress = tokenAddress;
|
|
74
78
|
// Set sender address
|
|
75
79
|
if (signedTx.origin) {
|
|
76
80
|
this.sender = signedTx.origin.toString().toLowerCase();
|
|
@@ -91,4 +95,4 @@ class FlushTokenTransaction extends transaction_1.Transaction {
|
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
97
|
exports.FlushTokenTransaction = FlushTokenTransaction;
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx1c2hUb2tlblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbi9mbHVzaFRva2VuVHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWdGO0FBRWhGLGdEQUE2RTtBQUM3RSwyREFBaUU7QUFFakUsK0NBQTRDO0FBRzVDLE1BQWEscUJBQXNCLFNBQVEseUJBQVc7SUFJcEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLFdBQVcsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksZ0JBQWdCLENBQUMsZ0JBQXdCO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxPQUFlO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsWUFBWTtRQUNWLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZDtnQkFDRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ2xCLEtBQUssRUFBRSxLQUFLO2dCQUNaLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCO2FBQzVCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsTUFBTTtRQUNKLE1BQU0sSUFBSSxHQUF1QjtZQUMvQixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsUUFBUSxFQUFF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QUFNLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3pELENBQUM7WUFFRCw0QkFBNEI7WUFDNUIsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3ZCLHdDQUF3QztnQkFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxvQkFBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztnQkFFNUYsdUVBQXVFO2dCQUN2RSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLG9CQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDM0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsb0JBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7Z0JBQzdGLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksa0NBQXVCLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF0R0Qsc0RBc0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIGFzIFZldFRyYW5zYWN0aW9uLCBTZWNwMjU2azEgfSBmcm9tICdAdmVjaGFpbi9zZGstY29yZSc7XG5pbXBvcnQgeyBkZWNvZGVGbHVzaFRva2Vuc0RhdGEgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1ldGgnO1xuXG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVmV0VHJhbnNhY3Rpb25EYXRhIH0gZnJvbSAnLi4vaWZhY2UnO1xuXG5leHBvcnQgY2xhc3MgRmx1c2hUb2tlblRyYW5zYWN0aW9uIGV4dGVuZHMgVHJhbnNhY3Rpb24ge1xuICBwcml2YXRlIF9mb3J3YXJkZXJWZXJzaW9uOiBudW1iZXI7XG4gIHByaXZhdGUgX3Rva2VuQWRkcmVzczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLkZsdXNoVG9rZW5zO1xuICB9XG5cbiAgZ2V0IGZvcndhcmRlclZlcnNpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZm9yd2FyZGVyVmVyc2lvbjtcbiAgfVxuXG4gIHNldCBmb3J3YXJkZXJWZXJzaW9uKGZvcndhcmRlclZlcnNpb246IG51bWJlcikge1xuICAgIHRoaXMuX2ZvcndhcmRlclZlcnNpb24gPSBmb3J3YXJkZXJWZXJzaW9uO1xuICB9XG5cbiAgZ2V0IHRva2VuQWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90b2tlbkFkZHJlc3M7XG4gIH1cblxuICBzZXQgdG9rZW5BZGRyZXNzKGFkZHJlc3M6IHN0cmluZykge1xuICAgIHRoaXMuX3Rva2VuQWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgYnVpbGRDbGF1c2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NsYXVzZXMgPSBbXG4gICAgICB7XG4gICAgICAgIHRvOiB0aGlzLl9jb250cmFjdCxcbiAgICAgICAgdmFsdWU6ICcweDAnLFxuICAgICAgICBkYXRhOiB0aGlzLl90cmFuc2FjdGlvbkRhdGEsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Kc29uKCk6IFZldFRyYW5zYWN0aW9uRGF0YSB7XG4gICAgY29uc3QganNvbjogVmV0VHJhbnNhY3Rpb25EYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBjaGFpblRhZzogdGhpcy5jaGFpblRhZyxcbiAgICAgIGJsb2NrUmVmOiB0aGlzLmJsb2NrUmVmLFxuICAgICAgZXhwaXJhdGlvbjogdGhpcy5leHBpcmF0aW9uLFxuICAgICAgZ2FzUHJpY2VDb2VmOiB0aGlzLmdhc1ByaWNlQ29lZixcbiAgICAgIGdhczogdGhpcy5nYXMsXG4gICAgICBkZXBlbmRzT246IHRoaXMuZGVwZW5kc09uLFxuICAgICAgbm9uY2U6IHRoaXMubm9uY2UsXG4gICAgICBkYXRhOiB0aGlzLnRyYW5zYWN0aW9uRGF0YSxcbiAgICAgIHZhbHVlOiAnMCcsXG4gICAgICBzZW5kZXI6IHRoaXMuc2VuZGVyLFxuICAgICAgdG86IHRoaXMuY29udHJhY3QsXG4gICAgICB0b2tlbkFkZHJlc3M6IHRoaXMudG9rZW5BZGRyZXNzLFxuICAgIH07XG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4OiBWZXRUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIXNpZ25lZFR4IHx8ICFzaWduZWRUeC5ib2R5KSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyB0cmFuc2FjdGlvbiBib2R5Jyk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0b3JlIHRoZSByYXcgdHJhbnNhY3Rpb25cbiAgICAgIHRoaXMucmF3VHJhbnNhY3Rpb24gPSBzaWduZWRUeDtcblxuICAgICAgLy8gU2V0IHRyYW5zYWN0aW9uIGJvZHkgcHJvcGVydGllc1xuICAgICAgY29uc3QgYm9keSA9IHNpZ25lZFR4LmJvZHk7XG4gICAgICB0aGlzLmNoYWluVGFnID0gdHlwZW9mIGJvZHkuY2hhaW5UYWcgPT09ICdudW1iZXInID8gYm9keS5jaGFpblRhZyA6IDA7XG4gICAgICB0aGlzLmJsb2NrUmVmID0gYm9keS5ibG9ja1JlZiB8fCAnMHgwJztcbiAgICAgIHRoaXMuZXhwaXJhdGlvbiA9IHR5cGVvZiBib2R5LmV4cGlyYXRpb24gPT09ICdudW1iZXInID8gYm9keS5leHBpcmF0aW9uIDogNjQ7XG4gICAgICB0aGlzLmNsYXVzZXMgPSBib2R5LmNsYXVzZXMgfHwgW107XG4gICAgICB0aGlzLmdhc1ByaWNlQ29lZiA9IHR5cGVvZiBib2R5Lmdhc1ByaWNlQ29lZiA9PT0gJ251bWJlcicgPyBib2R5Lmdhc1ByaWNlQ29lZiA6IDEyODtcbiAgICAgIHRoaXMuZ2FzID0gdHlwZW9mIGJvZHkuZ2FzID09PSAnbnVtYmVyJyA/IGJvZHkuZ2FzIDogTnVtYmVyKGJvZHkuZ2FzKSB8fCAwO1xuICAgICAgdGhpcy5kZXBlbmRzT24gPSBib2R5LmRlcGVuZHNPbiB8fCBudWxsO1xuICAgICAgdGhpcy5ub25jZSA9IHR5cGVvZiBib2R5Lm5vbmNlID09PSAnbnVtYmVyJyA/IGJvZHkubm9uY2UgOiBOdW1iZXIoYm9keS5ub25jZSkgfHwgMDtcbiAgICAgIC8vIFNldCBkYXRhIGZyb20gY2xhdXNlc1xuICAgICAgdGhpcy5jb250cmFjdCA9IGJvZHkuY2xhdXNlc1swXT8udG8gfHwgJzB4MCc7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRGF0YSA9IGJvZHkuY2xhdXNlc1swXT8uZGF0YSB8fCAnMHgwJztcbiAgICAgIHRoaXMudHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5GbHVzaFRva2VucztcbiAgICAgIGNvbnN0IHsgdG9rZW5BZGRyZXNzIH0gPSBkZWNvZGVGbHVzaFRva2Vuc0RhdGEodGhpcy50cmFuc2FjdGlvbkRhdGEsIHRoaXMuY29udHJhY3QpO1xuICAgICAgdGhpcy50b2tlbkFkZHJlc3MgPSB0b2tlbkFkZHJlc3M7XG5cbiAgICAgIC8vIFNldCBzZW5kZXIgYWRkcmVzc1xuICAgICAgaWYgKHNpZ25lZFR4Lm9yaWdpbikge1xuICAgICAgICB0aGlzLnNlbmRlciA9IHNpZ25lZFR4Lm9yaWdpbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNldCBzaWduYXR1cmVzIGlmIHByZXNlbnRcbiAgICAgIGlmIChzaWduZWRUeC5zaWduYXR1cmUpIHtcbiAgICAgICAgLy8gRmlyc3Qgc2lnbmF0dXJlIGlzIHNlbmRlcidzIHNpZ25hdHVyZVxuICAgICAgICB0aGlzLnNlbmRlclNpZ25hdHVyZSA9IEJ1ZmZlci5mcm9tKHNpZ25lZFR4LnNpZ25hdHVyZS5zbGljZSgwLCBTZWNwMjU2azEuU0lHTkFUVVJFX0xFTkdUSCkpO1xuXG4gICAgICAgIC8vIElmIHRoZXJlJ3MgYWRkaXRpb25hbCBzaWduYXR1cmUgZGF0YSwgaXQncyB0aGUgZmVlIHBheWVyJ3Mgc2lnbmF0dXJlXG4gICAgICAgIGlmIChzaWduZWRUeC5zaWduYXR1cmUubGVuZ3RoID4gU2VjcDI1NmsxLlNJR05BVFVSRV9MRU5HVEgpIHtcbiAgICAgICAgICB0aGlzLmZlZVBheWVyU2lnbmF0dXJlID0gQnVmZmVyLmZyb20oc2lnbmVkVHguc2lnbmF0dXJlLnNsaWNlKFNlY3AyNTZrMS5TSUdOQVRVUkVfTEVOR1RIKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEZhaWxlZCB0byBkZXNlcmlhbGl6ZSB0cmFuc2FjdGlvbjogJHtlLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseTransaction, TransactionType, TransactionRecipient
|
|
1
|
+
import { BaseTransaction, TransactionType, TransactionRecipient } from '@bitgo-beta/sdk-core';
|
|
2
2
|
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
3
|
import { TransactionClause, Transaction as VetTransaction } from '@vechain/sdk-core';
|
|
4
4
|
import { VetTransactionExplanation, VetTransactionData } from '../iface';
|
|
@@ -20,9 +20,6 @@ export declare class Transaction extends BaseTransaction {
|
|
|
20
20
|
private _senderSignature;
|
|
21
21
|
private _feePayerAddress;
|
|
22
22
|
private _feePayerSignature;
|
|
23
|
-
private _feePayerPubKey;
|
|
24
|
-
static EMPTY_PUBLIC_KEY: Buffer<ArrayBuffer>;
|
|
25
|
-
static EMPTY_SIGNATURE: Buffer<ArrayBuffer>;
|
|
26
23
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
27
24
|
get id(): string;
|
|
28
25
|
get rawTransaction(): VetTransaction;
|
|
@@ -35,7 +32,7 @@ export declare class Transaction extends BaseTransaction {
|
|
|
35
32
|
set senderSignature(sig: Buffer);
|
|
36
33
|
get feePayerAddress(): string;
|
|
37
34
|
set feePayerAddress(address: string);
|
|
38
|
-
get feePayerSignature(): Uint8Array;
|
|
35
|
+
get feePayerSignature(): Uint8Array | undefined;
|
|
39
36
|
set feePayerSignature(sig: Buffer);
|
|
40
37
|
get chainTag(): number;
|
|
41
38
|
set chainTag(tag: number);
|
|
@@ -55,8 +52,6 @@ export declare class Transaction extends BaseTransaction {
|
|
|
55
52
|
set dependsOn(dep: string | null);
|
|
56
53
|
get nonce(): number;
|
|
57
54
|
set nonce(n: number);
|
|
58
|
-
get feePayerPubKey(): PublicKey;
|
|
59
|
-
set feePayerPubKey(pubKey: PublicKey);
|
|
60
55
|
get contract(): string;
|
|
61
56
|
set contract(address: string);
|
|
62
57
|
get transactionData(): string;
|
|
@@ -88,14 +83,13 @@ export declare class Transaction extends BaseTransaction {
|
|
|
88
83
|
*/
|
|
89
84
|
fromDeserializedSignedTransaction(signedTx: VetTransaction): void;
|
|
90
85
|
addSenderSignature(signature: Buffer): void;
|
|
91
|
-
|
|
92
|
-
addFeePayerSignature(publicKey: PublicKey, signature: Buffer): void;
|
|
86
|
+
addFeePayerSignature(signature: Buffer): void;
|
|
93
87
|
build(): Promise<void>;
|
|
94
88
|
/**
|
|
95
89
|
* Sets the transaction ID from the raw transaction if it is signed
|
|
96
90
|
* @protected
|
|
97
91
|
*/
|
|
98
|
-
protected
|
|
92
|
+
protected generateTxnIdAndSetSender(): void;
|
|
99
93
|
protected buildRawTransaction(): Promise<void>;
|
|
100
94
|
loadInputsAndOutputs(): void;
|
|
101
95
|
fromRawTransaction(rawTransaction: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/transaction.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,14 +56,11 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
56
56
|
this._dependsOn = null;
|
|
57
57
|
this._nonce = 0x0;
|
|
58
58
|
this._recipients = [];
|
|
59
|
-
this.
|
|
60
|
-
|
|
61
|
-
};
|
|
62
|
-
this._senderSignature = Transaction.EMPTY_SIGNATURE;
|
|
63
|
-
this._feePayerSignature = Transaction.EMPTY_SIGNATURE;
|
|
59
|
+
this._senderSignature = null;
|
|
60
|
+
this._feePayerSignature = null;
|
|
64
61
|
}
|
|
65
62
|
get id() {
|
|
66
|
-
this.
|
|
63
|
+
this.generateTxnIdAndSetSender();
|
|
67
64
|
return this._id ?? 'UNAVAILABLE';
|
|
68
65
|
}
|
|
69
66
|
get rawTransaction() {
|
|
@@ -85,7 +82,12 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
85
82
|
this._sender = address;
|
|
86
83
|
}
|
|
87
84
|
get senderSignature() {
|
|
88
|
-
|
|
85
|
+
if (this._senderSignature) {
|
|
86
|
+
return new Uint8Array(this._senderSignature);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
89
91
|
}
|
|
90
92
|
set senderSignature(sig) {
|
|
91
93
|
this._senderSignature = sig;
|
|
@@ -97,7 +99,12 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
97
99
|
this._feePayerAddress = address;
|
|
98
100
|
}
|
|
99
101
|
get feePayerSignature() {
|
|
100
|
-
|
|
102
|
+
if (this._feePayerSignature) {
|
|
103
|
+
return new Uint8Array(this._feePayerSignature);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
101
108
|
}
|
|
102
109
|
set feePayerSignature(sig) {
|
|
103
110
|
this._feePayerSignature = sig;
|
|
@@ -156,12 +163,6 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
156
163
|
set nonce(n) {
|
|
157
164
|
this._nonce = n;
|
|
158
165
|
}
|
|
159
|
-
get feePayerPubKey() {
|
|
160
|
-
return this._feePayerPubKey;
|
|
161
|
-
}
|
|
162
|
-
set feePayerPubKey(pubKey) {
|
|
163
|
-
this._feePayerPubKey = pubKey;
|
|
164
|
-
}
|
|
165
166
|
get contract() {
|
|
166
167
|
return this._contract;
|
|
167
168
|
}
|
|
@@ -254,7 +255,7 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
254
255
|
}));
|
|
255
256
|
this.loadInputsAndOutputs();
|
|
256
257
|
// Set sender address
|
|
257
|
-
if (signedTx.origin) {
|
|
258
|
+
if (signedTx.signature && signedTx.origin) {
|
|
258
259
|
this.sender = signedTx.origin.toString().toLowerCase();
|
|
259
260
|
}
|
|
260
261
|
// Set signatures if present
|
|
@@ -274,47 +275,48 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
274
275
|
addSenderSignature(signature) {
|
|
275
276
|
this.senderSignature = signature;
|
|
276
277
|
}
|
|
277
|
-
|
|
278
|
-
return this.feePayerPubKey.pub;
|
|
279
|
-
}
|
|
280
|
-
addFeePayerSignature(publicKey, signature) {
|
|
281
|
-
this.feePayerPubKey = publicKey;
|
|
278
|
+
addFeePayerSignature(signature) {
|
|
282
279
|
this.feePayerSignature = signature;
|
|
283
280
|
}
|
|
284
281
|
async build() {
|
|
285
282
|
this.buildClauses();
|
|
286
283
|
await this.buildRawTransaction();
|
|
287
|
-
this.
|
|
284
|
+
this.generateTxnIdAndSetSender();
|
|
288
285
|
this.loadInputsAndOutputs();
|
|
289
286
|
}
|
|
290
287
|
/**
|
|
291
288
|
* Sets the transaction ID from the raw transaction if it is signed
|
|
292
289
|
* @protected
|
|
293
290
|
*/
|
|
294
|
-
|
|
291
|
+
generateTxnIdAndSetSender() {
|
|
295
292
|
// Check if we have a raw transaction
|
|
296
293
|
if (!this.rawTransaction) {
|
|
297
294
|
return;
|
|
298
295
|
}
|
|
299
|
-
|
|
300
|
-
if (!this.senderSignature || !this.feePayerSignature) {
|
|
301
|
-
return;
|
|
302
|
-
}
|
|
303
|
-
const halfSignedTransaction = sdk_core_2.Transaction.of(this.rawTransaction.body, this.senderSignature);
|
|
304
|
-
if (!halfSignedTransaction.signature) {
|
|
296
|
+
if (!this.senderSignature) {
|
|
305
297
|
return;
|
|
306
298
|
}
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
299
|
+
else {
|
|
300
|
+
const halfSignedTransaction = sdk_core_2.Transaction.of(this.rawTransaction.body, this.senderSignature);
|
|
301
|
+
if (halfSignedTransaction.signature) {
|
|
302
|
+
this._rawTransaction = halfSignedTransaction;
|
|
303
|
+
this._sender = halfSignedTransaction.origin.toString().toLowerCase();
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
if (this.feePayerSignature) {
|
|
309
|
+
const fullSignedTransaction = sdk_core_2.Transaction.of(halfSignedTransaction.body, nc_utils.concatBytes(
|
|
310
|
+
// Drop any previous gas payer signature.
|
|
311
|
+
halfSignedTransaction.signature.slice(0, sdk_core_2.Secp256k1.SIGNATURE_LENGTH), this.feePayerSignature));
|
|
312
|
+
if (fullSignedTransaction.signature) {
|
|
313
|
+
this._rawTransaction = fullSignedTransaction;
|
|
314
|
+
this._id = fullSignedTransaction.id.toString();
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
318
320
|
}
|
|
319
321
|
}
|
|
320
322
|
async buildRawTransaction() {
|
|
@@ -336,34 +338,21 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
336
338
|
this.rawTransaction = sdk_core_2.Transaction.of(transactionBody);
|
|
337
339
|
}
|
|
338
340
|
loadInputsAndOutputs() {
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
this.
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
},
|
|
355
|
-
];
|
|
356
|
-
this._outputs = this._recipients.map((recipient) => {
|
|
357
|
-
return {
|
|
358
|
-
address: recipient.address,
|
|
359
|
-
value: recipient.amount,
|
|
360
|
-
coin: this._coinConfig.name,
|
|
361
|
-
};
|
|
362
|
-
});
|
|
363
|
-
break;
|
|
364
|
-
default:
|
|
365
|
-
throw new sdk_core_1.InvalidTransactionError(`Unsupported transaction type: ${this.type}`);
|
|
366
|
-
}
|
|
341
|
+
const totalAmount = this._recipients.reduce((accumulator, current) => accumulator.plus(current.amount), new bignumber_js_1.default('0'));
|
|
342
|
+
this._inputs = [
|
|
343
|
+
{
|
|
344
|
+
address: this.sender,
|
|
345
|
+
value: totalAmount.toString(),
|
|
346
|
+
coin: this._coinConfig.name,
|
|
347
|
+
},
|
|
348
|
+
];
|
|
349
|
+
this._outputs = this._recipients.map((recipient) => {
|
|
350
|
+
return {
|
|
351
|
+
address: recipient.address,
|
|
352
|
+
value: recipient.amount,
|
|
353
|
+
coin: this._coinConfig.name,
|
|
354
|
+
};
|
|
355
|
+
});
|
|
367
356
|
}
|
|
368
357
|
fromRawTransaction(rawTransaction) {
|
|
369
358
|
let signedTxn;
|
|
@@ -410,17 +399,25 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
410
399
|
return this.serialize();
|
|
411
400
|
}
|
|
412
401
|
serialize() {
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
throw new sdk_core_1.InvalidTransactionError('Invalid sender signature in half-signed transaction');
|
|
402
|
+
if (!this.senderSignature) {
|
|
403
|
+
return sdk_core_2.HexUInt.of(this.rawTransaction.encoded).toString();
|
|
416
404
|
}
|
|
417
|
-
|
|
418
|
-
|
|
405
|
+
else {
|
|
406
|
+
if (!this.feePayerSignature) {
|
|
407
|
+
const senderSignedTransaction = sdk_core_2.Transaction.of(this.rawTransaction.body, this.senderSignature);
|
|
408
|
+
return sdk_core_2.HexUInt.of(senderSignedTransaction.encoded).toString();
|
|
409
|
+
}
|
|
410
|
+
else {
|
|
411
|
+
const senderSignedTransaction = sdk_core_2.Transaction.of(this.rawTransaction.body, this.senderSignature);
|
|
412
|
+
if (senderSignedTransaction.signature) {
|
|
413
|
+
const fullSignedTransaction = sdk_core_2.Transaction.of(senderSignedTransaction.body, nc_utils.concatBytes(senderSignedTransaction.signature.slice(0, sdk_core_2.Secp256k1.SIGNATURE_LENGTH), this.feePayerSignature));
|
|
414
|
+
return sdk_core_2.HexUInt.of(fullSignedTransaction.encoded).toString();
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
throw new sdk_core_1.InvalidTransactionError('Transaction is not signed properly');
|
|
418
|
+
}
|
|
419
|
+
}
|
|
419
420
|
}
|
|
420
|
-
const fullSignedTransaction = sdk_core_2.Transaction.of(halfSignedTransaction.body, nc_utils.concatBytes(
|
|
421
|
-
// Drop any previous gas payer signature.
|
|
422
|
-
halfSignedTransaction.signature.slice(0, sdk_core_2.Secp256k1.SIGNATURE_LENGTH), this.feePayerSignature));
|
|
423
|
-
return sdk_core_2.HexUInt.of(fullSignedTransaction.encoded).toString();
|
|
424
421
|
}
|
|
425
422
|
static deserializeTransaction(rawTx) {
|
|
426
423
|
try {
|
|
@@ -466,6 +463,4 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
466
463
|
}
|
|
467
464
|
}
|
|
468
465
|
exports.Transaction = Transaction;
|
|
469
|
-
Transaction.EMPTY_PUBLIC_KEY = Buffer.alloc(32);
|
|
470
|
-
Transaction.EMPTY_SIGNATURE = Buffer.alloc(64);
|
|
471
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdFQUFxQztBQUNyQyxtREFNOEI7QUFFOUIsZ0RBTTJCO0FBQzNCLHVFQUF5RDtBQUN6RCxxREFBNkI7QUFHN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBRXRCLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBdUI5QyxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsMEJBQTBCO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRztZQUNyQixHQUFHLEVBQUUsa0JBQU8sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFO1NBQ3pELENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQztRQUNwRCxJQUFJLENB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SSxDQUFDLFdBQVcsQ0FBQztRQUN6RCxNQUFNLFlBQVksR0FBRyxPQUFPO2FBQ3pCLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksc0JBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN0RixRQUFRLEVBQUUsQ0FBQztRQUNkLE9BQU87WUFDTCxZQUFZO1lBQ1osRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsT0FBTztZQUNQLFlBQVk7WUFDWixhQUFhLEVBQUUsRUFBRTtZQUNqQixZQUFZLEVBQUUsR0FBRztZQUNqQixHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQztJQUNKLENBQUM7O0FBemdCSCxrQ0EwZ0JDO0FBdGZRLDRCQUFnQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDcEMsMkJBQWUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHtcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgUHVibGljS2V5LFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbkJvZHksXG4gIFRyYW5zYWN0aW9uQ2xhdXNlLFxuICBUcmFuc2FjdGlvbiBhcyBWZXRUcmFuc2FjdGlvbixcbiAgU2VjcDI1NmsxLFxuICBIZXhVSW50LFxufSBmcm9tICdAdmVjaGFpbi9zZGstY29yZSc7XG5pbXBvcnQgKiBhcyBuY191dGlscyBmcm9tICdAbm9ibGUvY3VydmVzL2Fic3RyYWN0L3V0aWxzJztcbmltcG9ydCB1dGlscyBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBWZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLCBWZXRUcmFuc2FjdGlvbkRhdGEgfSBmcm9tICcuLi9pZmFjZSc7XG5cbmNvbnN0IGdhc1ByaWNlID0gMWUxMztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uIHtcbiAgcHJvdGVjdGVkIF9yYXdUcmFuc2FjdGlvbjogVmV0VHJhbnNhY3Rpb247XG4gIHByb3RlY3RlZCBfdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBwcm90ZWN0ZWQgX3JlY2lwaWVudHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIHByb3RlY3RlZCBfY2xhdXNlczogVHJhbnNhY3Rpb25DbGF1c2VbXTtcbiAgcHJvdGVjdGVkIF9jb250cmFjdDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3RyYW5zYWN0aW9uRGF0YTogc3RyaW5nO1xuICBwcml2YXRlIF9jaGFpblRhZzogbnVtYmVyO1xuICBwcml2YXRlIF9ibG9ja1JlZjogc3RyaW5nO1xuICBwcml2YXRlIF9leHBpcmF0aW9uOiBudW1iZXI7XG4gIHByaXZhdGUgX2dhc1ByaWNlQ29lZjogbnVtYmVyO1xuICBwcml2YXRlIF9nYXM6IG51bWJlcjtcbiAgcHJpdmF0ZSBfZGVwZW5kc09uOiBzdHJpbmcgfCBudWxsO1xuICBwcml2YXRlIF9ub25jZTogbnVtYmVyO1xuICBwcml2YXRlIF9zZW5kZXI6IHN0cmluZztcbiAgcHJpdmF0ZSBfc2VuZGVyU2lnbmF0dXJlOiBCdWZmZXI7XG4gIHByaXZhdGUgX2ZlZVBheWVyQWRkcmVzczogc3RyaW5nO1xuICBwcml2YXRlIF9mZWVQYXllclNpZ25hdHVyZTogQnVmZmVyO1xuICBwcml2YXRlIF9mZWVQYXllclB1YktleTogUHVibGljS2V5O1xuXG4gIHN0YXRpYyBFTVBUWV9QVUJMSUNfS0VZID0gQnVmZmVyLmFsbG9jKDMyKTtcbiAgc3RhdGljIEVNUFRZX1NJR05BVFVSRSA9IEJ1ZmZlci5hbGxvYyg2NCk7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgICB0aGlzLl9jaGFpblRhZyA9IDB4Mjc7IC8vIEluaXRpYWxpemUgdG8gMzkgKDB4MjcpXG4gICAgdGhpcy5fYmxvY2tSZWYgPSAnMHgwJztcbiAgICB0aGlzLl9leHBpcmF0aW9uID0gNjQ7XG4gICAgdGhpcy5fY2xhdXNlcyA9IFtdO1xuICAgIHRoaXMuX2dhc1ByaWNlQ29lZiA9IDEyODtcbiAgICB0aGlzLl9nYXMgPSAwO1xuICAgIHRoaXMuX2RlcGVuZHNPbiA9IG51bGw7XG4gICAgdGhpcy5fbm9uY2UgPSAweDA7XG4gICAgdGhpcy5fcmVjaXBpZW50cyA9IFtdO1xuICAgIHRoaXMuX2ZlZVBheWVyUHViS2V5ID0ge1xuICAgICAgcHViOiBIZXhVSW50Lm9mKFRyYW5zYWN0aW9uLkVNUFRZX1BVQkxJQ19LRVkpLnRvU3RyaW5nKCksXG4gICAgfTtcbiAgICB0aGlzLl9zZW5kZXJTaWduYXR1cmUgPSBUcmFuc2FjdGlvbi5FTVBUWV9TSUdOQVRVUkU7XG4gICAgdGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUgPSBUcmFuc2FjdGlvbi5FTVBUWV9TSUdOQVRVUkU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgdGhpcy5nZW5lcmF0ZVR4bklkKCk7XG4gICAgcmV0dXJuIHRoaXMuX2lkID8/ICdVTkFWQUlMQUJMRSc7XG4gIH1cblxuICBnZXQgcmF3VHJhbnNhY3Rpb24oKTogVmV0VHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl9yYXdUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldCByYXdUcmFuc2FjdGlvbihyYXdUeDogVmV0VHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl9yYXdUcmFuc2FjdGlvbiA9IHJhd1R4O1xuICB9XG5cbiAgZ2V0IHR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIHNldCB0eXBlKHR5cGU6IFRyYW5zYWN0aW9uVHlwZSkge1xuICAgIHRoaXMuX3R5cGUgPSB0eXBlO1xuICB9XG5cbiAgZ2V0IHNlbmRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zZW5kZXI7XG4gIH1cblxuICBzZXQgc2VuZGVyKGFkZHJlc3M6IHN0cmluZykge1xuICAgIHRoaXMuX3NlbmRlciA9IGFkZHJlc3M7XG4gIH1cblxuICBnZXQgc2VuZGVyU2lnbmF0dXJlKCk6IFVpbnQ4QXJyYXkgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zZW5kZXJTaWduYXR1cmU7XG4gIH1cblxuICBzZXQgc2VuZGVyU2lnbmF0dXJlKHNpZzogQnVmZmVyKSB7XG4gICAgdGhpcy5fc2VuZGVyU2lnbmF0dXJlID0gc2lnO1xuICB9XG5cbiAgZ2V0IGZlZVBheWVyQWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mZWVQYXllckFkZHJlc3M7XG4gIH1cblxuICBzZXQgZmVlUGF5ZXJBZGRyZXNzKGFkZHJlc3M6IHN0cmluZykge1xuICAgIHRoaXMuX2ZlZVBheWVyQWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICBnZXQgZmVlUGF5ZXJTaWduYXR1cmUoKTogVWludDhBcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlO1xuICB9XG5cbiAgc2V0IGZlZVBheWVyU2lnbmF0dXJlKHNpZzogQnVmZmVyKSB7XG4gICAgdGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUgPSBzaWc7XG4gIH1cblxuICBnZXQgY2hhaW5UYWcoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY2hhaW5UYWc7XG4gIH1cblxuICBzZXQgY2hhaW5UYWcodGFnOiBudW1iZXIpIHtcbiAgICB0aGlzLl9jaGFpblRhZyA9IHRhZztcbiAgfVxuXG4gIGdldCBibG9ja1JlZigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9ibG9ja1JlZjtcbiAgfVxuXG4gIHNldCBibG9ja1JlZihyZWY6IHN0cmluZykge1xuICAgIHRoaXMuX2Jsb2NrUmVmID0gcmVmO1xuICB9XG5cbiAgZ2V0IGV4cGlyYXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZXhwaXJhdGlvbjtcbiAgfVxuXG4gIHNldCBleHBpcmF0aW9uKGV4cDogbnVtYmVyKSB7XG4gICAgdGhpcy5fZXhwaXJhdGlvbiA9IGV4cDtcbiAgfVxuXG4gIGdldCByZWNpcGllbnRzKCk6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10ge1xuICAgIHJldHVybiB0aGlzLl9yZWNpcGllbnRzO1xuICB9XG5cbiAgc2V0IHJlY2lwaWVudHMocmVjaXBpZW50czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSkge1xuICAgIHRoaXMuX3JlY2lwaWVudHMgPSByZWNpcGllbnRzO1xuICB9XG5cbiAgZ2V0IGNsYXVzZXMoKTogVHJhbnNhY3Rpb25DbGF1c2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NsYXVzZXM7XG4gIH1cblxuICBzZXQgY2xhdXNlcyhjbGF1c2VzOiBUcmFuc2FjdGlvbkNsYXVzZVtdKSB7XG4gICAgdGhpcy5fY2xhdXNlcyA9IGNsYXVzZXM7XG4gIH1cblxuICBnZXQgZ2FzUHJpY2VDb2VmKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2dhc1ByaWNlQ29lZjtcbiAgfVxuXG4gIHNldCBnYXNQcmljZUNvZWYoY29lZjogbnVtYmVyKSB7XG4gICAgdGhpcy5fZ2FzUHJpY2VDb2VmID0gY29lZjtcbiAgfVxuXG4gIGdldCBnYXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZ2FzO1xuICB9XG5cbiAgc2V0IGdhcyhnOiBudW1iZXIpIHtcbiAgICB0aGlzLl9nYXMgPSBnO1xuICB9XG5cbiAgZ2V0IGRlcGVuZHNPbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fZGVwZW5kc09uO1xuICB9XG5cbiAgc2V0IGRlcGVuZHNPbihkZXA6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLl9kZXBlbmRzT24gPSBkZXA7XG4gIH1cblxuICBnZXQgbm9uY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbm9uY2U7XG4gIH1cblxuICBzZXQgbm9uY2UobjogbnVtYmVyKSB7XG4gICAgdGhpcy5fbm9uY2UgPSBuO1xuICB9XG5cbiAgZ2V0IGZlZVBheWVyUHViS2V5KCk6IFB1YmxpY0tleSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlZVBheWVyUHViS2V5O1xuICB9XG5cbiAgc2V0IGZlZVBheWVyUHViS2V5KHB1YktleTogUHVibGljS2V5KSB7XG4gICAgdGhpcy5fZmVlUGF5ZXJQdWJLZXkgPSBwdWJLZXk7XG4gIH1cblxuICBnZXQgY29udHJhY3QoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29udHJhY3Q7XG4gIH1cblxuICBzZXQgY29udHJhY3QoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29udHJhY3QgPSBhZGRyZXNzO1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uRGF0YSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbkRhdGE7XG4gIH1cblxuICBzZXQgdHJhbnNhY3Rpb25EYXRhKHRyYW5zYWN0aW9uRGF0YTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb25EYXRhID0gdHJhbnNhY3Rpb25EYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgc2lnbmF0dXJlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyB0cmFuc2FjdGlvblxuICAgKiBSZXF1aXJlZCBieSBCYXNlVHJhbnNhY3Rpb25cbiAgICovXG4gIGdldCBzaWduYXR1cmUoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHNpZ3M6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKHRoaXMuX3NlbmRlclNpZ25hdHVyZSkge1xuICAgICAgc2lncy5wdXNoKEJ1ZmZlci5mcm9tKHRoaXMuX3NlbmRlclNpZ25hdHVyZSkudG9TdHJpbmcoJ2hleCcpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlKSB7XG4gICAgICBzaWdzLnB1c2goQnVmZmVyLmZyb20odGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUpLnRvU3RyaW5nKCdoZXgnKSk7XG4gICAgfVxuICAgIHJldHVybiBzaWdzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBzaWduYXR1cmVzIGZvciB0aGlzIHRyYW5zYWN0aW9uXG4gICAqIFJlcXVpcmVkIGJ5IEJhc2VUcmFuc2FjdGlvblxuICAgKiBOb3RlOiBUaGlzIGlzIG1haW5seSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBiYXNlIGNsYXNzLlxuICAgKiBQcmVmZXIgdXNpbmcgc2VuZGVyU2lnbmF0dXJlIGFuZCBmZWVQYXllclNpZ25hdHVyZSBkaXJlY3RseS5cbiAgICovXG4gIHNldCBzaWduYXR1cmUoc2lnczogc3RyaW5nW10pIHtcbiAgICBpZiAoc2lncy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLl9zZW5kZXJTaWduYXR1cmUgPSBCdWZmZXIuZnJvbShzaWdzWzBdLCAnaGV4Jyk7XG4gICAgfVxuICAgIGlmIChzaWdzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlID0gQnVmZmVyLmZyb20oc2lnc1sxXSwgJ2hleCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBjYW5TaWduKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoaXMgaXMgYSBmZWUgZGVsZWdhdGVkIHRyYW5zYWN0aW9uXG4gICAqL1xuICBpc0ZlZURlbGVnYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9mZWVQYXllckFkZHJlc3M7XG4gIH1cblxuICBhZGRSZWNpcGllbnRzKGNsYXVzZXM6IFRyYW5zYWN0aW9uQ2xhdXNlW10pOiB2b2lkIHtcbiAgICB0aGlzLl9yZWNpcGllbnRzID0gY2xhdXNlcy5tYXAoKGNsYXVzZSkgPT4gKHtcbiAgICAgIGFkZHJlc3M6IChjbGF1c2UudG8gfHwgJzB4MCcpLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSxcbiAgICAgIGFtb3VudDogKGNsYXVzZS52YWx1ZSB8fCAnMCcpLnRvU3RyaW5nKCksXG4gICAgfSkpO1xuICB9XG5cbiAgYnVpbGRDbGF1c2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NsYXVzZXMgPSB0aGlzLl9yZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiAoe1xuICAgICAgdG86IHJlY2lwaWVudC5hZGRyZXNzLFxuICAgICAgdmFsdWU6IHJlY2lwaWVudC5hbW91bnQsXG4gICAgICBkYXRhOiAnMHgnLFxuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQb3B1bGF0ZXMgdGhlIHRyYW5zYWN0aW9uIG9iamVjdCB3aXRoIGRhdGEgZnJvbSBhIGRlc2VyaWFsaXplZCBWZUNoYWluIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBzaWduZWRUeCAtIFRoZSBkZXNlcmlhbGl6ZWQgVmVDaGFpbiB0cmFuc2FjdGlvbiBjb250YWluaW5nIGJvZHksIHNpZ25hdHVyZXMsIGFuZCBvdGhlciB0cmFuc2FjdGlvbiBkYXRhXG4gICAqIEB0aHJvd3Mge0ludmFsaWRUcmFuc2FjdGlvbkVycm9yfSBXaGVuIHRoZSB0cmFuc2FjdGlvbiBpcyBpbnZhbGlkIG9yIG1pc3NpbmcgcmVxdWlyZWQgZGF0YVxuICAgKi9cbiAgZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4OiBWZXRUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIXNpZ25lZFR4IHx8ICFzaWduZWRUeC5ib2R5KSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyB0cmFuc2FjdGlvbiBib2R5Jyk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0b3JlIHRoZSByYXcgdHJhbnNhY3Rpb25cbiAgICAgIHRoaXMucmF3VHJhbnNhY3Rpb24gPSBzaWduZWRUeDtcblxuICAgICAgLy8gU2V0IHRyYW5zYWN0aW9uIGJvZHkgcHJvcGVydGllc1xuICAgICAgY29uc3QgYm9keSA9IHNpZ25lZFR4LmJvZHk7XG4gICAgICB0aGlzLmNoYWluVGFnID0gdHlwZW9mIGJvZHkuY2hhaW5UYWcgPT09ICdudW1iZXInID8gYm9keS5jaGFpblRhZyA6IDA7XG4gICAgICB0aGlzLmJsb2NrUmVmID0gYm9keS5ibG9ja1JlZiB8fCAnMHgwJztcbiAgICAgIHRoaXMuZXhwaXJhdGlvbiA9IHR5cGVvZiBib2R5LmV4cGlyYXRpb24gPT09ICdudW1iZXInID8gYm9keS5leHBpcmF0aW9uIDogNjQ7XG4gICAgICB0aGlzLmNsYXVzZXMgPSBib2R5LmNsYXVzZXMgfHwgW107XG4gICAgICB0aGlzLmdhc1ByaWNlQ29lZiA9IHR5cGVvZiBib2R5Lmdhc1ByaWNlQ29lZiA9PT0gJ251bWJlcicgPyBib2R5Lmdhc1ByaWNlQ29lZiA6IDEyODtcbiAgICAgIHRoaXMuZ2FzID0gdHlwZW9mIGJvZHkuZ2FzID09PSAnbnVtYmVyJyA/IGJvZHkuZ2FzIDogTnVtYmVyKGJvZHkuZ2FzKSB8fCAwO1xuICAgICAgdGhpcy5kZXBlbmRzT24gPSBib2R5LmRlcGVuZHNPbiB8fCBudWxsO1xuICAgICAgdGhpcy5ub25jZSA9IHR5cGVvZiBib2R5Lm5vbmNlID09PSAnbnVtYmVyJyA/IGJvZHkubm9uY2UgOiBOdW1iZXIoYm9keS5ub25jZSkgfHwgMDtcbiAgICAgIC8vIFNldCByZWNpcGllbnRzIGZyb20gY2xhdXNlc1xuICAgICAgdGhpcy5yZWNpcGllbnRzID0gYm9keS5jbGF1c2VzLm1hcCgoY2xhdXNlKSA9PiAoe1xuICAgICAgICBhZGRyZXNzOiAoY2xhdXNlLnRvIHx8ICcweDAnKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCksXG4gICAgICAgIGFtb3VudDogTnVtYmVyKGNsYXVzZS52YWx1ZSkudG9TdHJpbmcoKSxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcblxuICAgICAgLy8gU2V0IHNlbmRlciBhZGRyZXNzXG4gICAgICBpZiAoc2lnbmVkVHgub3JpZ2luKSB7XG4gICAgICAgIHRoaXMuc2VuZGVyID0gc2lnbmVkVHgub3JpZ2luLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2V0IHNpZ25hdHVyZXMgaWYgcHJlc2VudFxuICAgICAgaWYgKHNpZ25lZFR4LnNpZ25hdHVyZSkge1xuICAgICAgICAvLyBGaXJzdCBzaWduYXR1cmUgaXMgc2VuZGVyJ3Mgc2lnbmF0dXJlXG4gICAgICAgIHRoaXMuc2VuZGVyU2lnbmF0dXJlID0gQnVmZmVyLmZyb20oc2lnbmVkVHguc2lnbmF0dXJlLnNsaWNlKDAsIFNlY3AyNTZrMS5TSUdOQVRVUkVfTEVOR1RIKSk7XG5cbiAgICAgICAgLy8gSWYgdGhlcmUncyBhZGRpdGlvbmFsIHNpZ25hdHVyZSBkYXRhLCBpdCdzIHRoZSBmZWUgcGF5ZXIncyBzaWduYXR1cmVcbiAgICAgICAgaWYgKHNpZ25lZFR4LnNpZ25hdHVyZS5sZW5ndGggPiBTZWNwMjU2azEuU0lHTkFUVVJFX0xFTkdUSCkge1xuICAgICAgICAgIHRoaXMuZmVlUGF5ZXJTaWduYXR1cmUgPSBCdWZmZXIuZnJvbShzaWduZWRUeC5zaWduYXR1cmUuc2xpY2UoU2VjcDI1NmsxLlNJR05BVFVSRV9MRU5HVEgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgRmFpbGVkIHRvIGRlc2VyaWFsaXplIHRyYW5zYWN0aW9uOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICBhZGRTZW5kZXJTaWduYXR1cmUoc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmRlclNpZ25hdHVyZSA9IHNpZ25hdHVyZTtcbiAgfVxuXG4gIGdldEZlZVBheWVyUHViS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmVlUGF5ZXJQdWJLZXkucHViO1xuICB9XG5cbiAgYWRkRmVlUGF5ZXJTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhpcy5mZWVQYXllclB1YktleSA9IHB1YmxpY0tleTtcbiAgICB0aGlzLmZlZVBheWVyU2lnbmF0dXJlID0gc2lnbmF0dXJlO1xuICB9XG5cbiAgYXN5bmMgYnVpbGQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5idWlsZENsYXVzZXMoKTtcbiAgICBhd2FpdCB0aGlzLmJ1aWxkUmF3VHJhbnNhY3Rpb24oKTtcbiAgICB0aGlzLmdlbmVyYXRlVHhuSWQoKTtcbiAgICB0aGlzLmxvYWRJbnB1dHNBbmRPdXRwdXRzKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdHJhbnNhY3Rpb24gSUQgZnJvbSB0aGUgcmF3IHRyYW5zYWN0aW9uIGlmIGl0IGlzIHNpZ25lZFxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2VuZXJhdGVUeG5JZCgpOiB2b2lkIHtcbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGEgcmF3IHRyYW5zYWN0aW9uXG4gICAgaWYgKCF0aGlzLnJhd1RyYW5zYWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIHRyYW5zYWN0aW9uIGlzIHNpZ25lZCBieSB2ZXJpZnlpbmcgc2lnbmF0dXJlIGV4aXN0c1xuICAgIGlmICghdGhpcy5zZW5kZXJTaWduYXR1cmUgfHwgIXRoaXMuZmVlUGF5ZXJTaWduYXR1cmUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBoYWxmU2lnbmVkVHJhbnNhY3Rpb246IFZldFRyYW5zYWN0aW9uID0gVmV0VHJhbnNhY3Rpb24ub2YodGhpcy5yYXdUcmFuc2FjdGlvbi5ib2R5LCB0aGlzLnNlbmRlclNpZ25hdHVyZSk7XG4gICAgaWYgKCFoYWxmU2lnbmVkVHJhbnNhY3Rpb24uc2lnbmF0dXJlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZ1bGxTaWduZWRUcmFuc2FjdGlvbjogVmV0VHJhbnNhY3Rpb24gPSBWZXRUcmFuc2FjdGlvbi5vZihcbiAgICAgIGhhbGZTaWduZWRUcmFuc2FjdGlvbi5ib2R5LFxuICAgICAgbmNfdXRpbHMuY29uY2F0Qnl0ZXMoXG4gICAgICAgIC8vIERyb3AgYW55IHByZXZpb3VzIGdhcyBwYXllciBzaWduYXR1cmUuXG4gICAgICAgIGhhbGZTaWduZWRUcmFuc2FjdGlvbi5zaWduYXR1cmUuc2xpY2UoMCwgU2VjcDI1NmsxLlNJR05BVFVSRV9MRU5HVEgpLFxuICAgICAgICB0aGlzLmZlZVBheWVyU2lnbmF0dXJlXG4gICAgICApXG4gICAgKTtcbiAgICBpZiAoIWZ1bGxTaWduZWRUcmFuc2FjdGlvbi5zaWduYXR1cmUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuX2lkID0gZnVsbFNpZ25lZFRyYW5zYWN0aW9uLmlkLnRvU3RyaW5nKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZFJhd1RyYW5zYWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uQm9keTogVHJhbnNhY3Rpb25Cb2R5ID0ge1xuICAgICAgY2hhaW5UYWc6IHRoaXMuY2hhaW5UYWcsXG4gICAgICBibG9ja1JlZjogdGhpcy5ibG9ja1JlZixcbiAgICAgIGV4cGlyYXRpb246IDY0LCAvL21vdmUgdGhpcyB2YWx1ZSB0byBjb25zdGFudHNcbiAgICAgIGNsYXVzZXM6IHRoaXMuY2xhdXNlcyxcbiAgICAgIGdhc1ByaWNlQ29lZjogdGhpcy5nYXNQcmljZUNvZWYsXG4gICAgICBnYXM6IHRoaXMuZ2FzLFxuICAgICAgZGVwZW5kc09uOiBudWxsLFxuICAgICAgbm9uY2U6IHRoaXMubm9uY2UsXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5TZW5kKSB7XG4gICAgICB0cmFuc2FjdGlvbkJvZHkucmVzZXJ2ZWQgPSB7XG4gICAgICAgIGZlYXR1cmVzOiAxLCAvLyBtYXJrIHRyYW5zYWN0aW9uIGFzIGRlbGVnYXRlZCBpLmUuIHdpbGwgdXNlIGdhcyBwYXllclxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLnJhd1RyYW5zYWN0aW9uID0gVmV0VHJhbnNhY3Rpb24ub2YodHJhbnNhY3Rpb25Cb2R5KTtcbiAgfVxuXG4gIGxvYWRJbnB1dHNBbmRPdXRwdXRzKCk6IHZvaWQge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb246XG4gICAgICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuQWRkcmVzc0luaXRpYWxpemF0aW9uO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkZsdXNoVG9rZW5zOlxuICAgICAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLkZsdXNoVG9rZW5zO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmQ6XG4gICAgICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgICAgICAgY29uc3QgdG90YWxBbW91bnQgPSB0aGlzLl9yZWNpcGllbnRzLnJlZHVjZShcbiAgICAgICAgICAoYWNjdW11bGF0b3IsIGN1cnJlbnQpID0+IGFjY3VtdWxhdG9yLnBsdXMoY3VycmVudC5hbW91bnQpLFxuICAgICAgICAgIG5ldyBCaWdOdW1iZXIoJzAnKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9pbnB1dHMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogdGhpcy5zZW5kZXIsXG4gICAgICAgICAgICB2YWx1ZTogdG90YWxBbW91bnQudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgICB0aGlzLl9vdXRwdXRzID0gdGhpcy5fcmVjaXBpZW50cy5tYXAoKHJlY2lwaWVudCkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhZGRyZXNzOiByZWNpcGllbnQuYWRkcmVzcyxcbiAgICAgICAgICAgIHZhbHVlOiByZWNpcGllbnQuYW1vdW50IGFzIHN0cmluZyxcbiAgICAgICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGU6ICR7dGhpcy50eXBlfWApO1xuICAgIH1cbiAgfVxuXG4gIGZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHNpZ25lZFR4bjogVmV0VHJhbnNhY3Rpb247XG4gICAgdHJ5IHtcbiAgICAgIHNpZ25lZFR4biA9IHV0aWxzLmRlc2VyaWFsaXplVHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCByYXcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgdGhpcy5mcm9tRGVzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkVHhuKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0pzb24oKTogVmV0VHJhbnNhY3Rpb25EYXRhIHtcbiAgICBjb25zdCBqc29uOiBWZXRUcmFuc2FjdGlvbkRhdGEgPSB7XG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIGNoYWluVGFnOiB0aGlzLmNoYWluVGFnLFxuICAgICAgYmxvY2tSZWY6IHRoaXMuYmxvY2tSZWYsXG4gICAgICBleHBpcmF0aW9uOiB0aGlzLmV4cGlyYXRpb24sXG4gICAgICByZWNpcGllbnRzOiB0aGlzLnJlY2lwaWVudHMsXG4gICAgICBnYXNQcmljZUNvZWY6IHRoaXMuZ2FzUHJpY2VDb2VmLFxuICAgICAgZ2FzOiB0aGlzLmdhcyxcbiAgICAgIGRlcGVuZHNPbjogdGhpcy5kZXBlbmRzT24sXG4gICAgICBub25jZTogdGhpcy5ub25jZSxcbiAgICAgIHNlbmRlcjogdGhpcy5zZW5kZXIsXG4gICAgICBmZWVQYXllcjogdGhpcy5mZWVQYXllckFkZHJlc3MsXG4gICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgcHVibGljIGdldEZlZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgQmlnTnVtYmVyKHRoaXMuZ2FzKVxuICAgICAgLm11bHRpcGxpZWRCeShnYXNQcmljZSlcbiAgICAgIC5tdWx0aXBsaWVkQnkobmV3IEJpZ051bWJlcih0aGlzLmdhc1ByaWNlQ29lZikuZGl2aWRlZEJ5KDI1NSkucGx1cygxKSlcbiAgICAgIC50b1N0cmluZygpXG4gICAgICAuc2xpY2UoMCwgMTgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzaWduYWJsZVBheWxvYWQoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20odGhpcy5yYXdUcmFuc2FjdGlvbi5lbmNvZGVkKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5yYXdUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSBUcmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKTtcbiAgfVxuXG4gIHNlcmlhbGl6ZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhhbGZTaWduZWRUcmFuc2FjdGlvbjogVmV0VHJhbnNhY3Rpb24gPSBWZXRUcmFuc2FjdGlvbi5vZih0aGlzLnJhd1RyYW5zYWN0aW9uLmJvZHksIHRoaXMuc2VuZGVyU2lnbmF0dXJlKTtcbiAgICBpZiAoIWhhbGZTaWduZWRUcmFuc2FjdGlvbi5zaWduYXR1cmUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBzZW5kZXIgc2lnbmF0dXJlIGluIGhhbGYtc2lnbmVkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5mZWVQYXllclNpZ25hdHVyZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIGZlZSBwYXllciBzaWduYXR1cmUnKTtcbiAgICB9XG4gICAgY29uc3QgZnVsbFNpZ25lZFRyYW5zYWN0aW9uOiBWZXRUcmFuc2FjdGlvbiA9IFZldFRyYW5zYWN0aW9uLm9mKFxuICAgICAgaGFsZlNpZ25lZFRyYW5zYWN0aW9uLmJvZHksXG4gICAgICBuY191dGlscy5jb25jYXRCeXRlcyhcbiAgICAgICAgLy8gRHJvcCBhbnkgcHJldmlvdXMgZ2FzIHBheWVyIHNpZ25hdHVyZS5cbiAgICAgICAgaGFsZlNpZ25lZFRyYW5zYWN0aW9uLnNpZ25hdHVyZS5zbGljZSgwLCBTZWNwMjU2azEuU0lHTkFUVVJFX0xFTkdUSCksXG4gICAgICAgIHRoaXMuZmVlUGF5ZXJTaWduYXR1cmVcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiBIZXhVSW50Lm9mKGZ1bGxTaWduZWRUcmFuc2FjdGlvbi5lbmNvZGVkKS50b1N0cmluZygpO1xuICB9XG5cbiAgc3RhdGljIGRlc2VyaWFsaXplVHJhbnNhY3Rpb24ocmF3VHg6IHN0cmluZyk6IFZldFRyYW5zYWN0aW9uIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFyYXdUeCkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1JhdyB0cmFuc2FjdGlvbiBzdHJpbmcgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdXRpbHMuZGVzZXJpYWxpemVUcmFuc2FjdGlvbihyYXdUeCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcikge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBGYWlsZWQgdG8gZGVzZXJpYWxpemUgdHJhbnNhY3Rpb246ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIGV4cGxhaW5UcmFuc2FjdGlvbigpOiBWZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCBkaXNwbGF5T3JkZXIgPSBbXG4gICAgICAnaWQnLFxuICAgICAgJ291dHB1dHMnLFxuICAgICAgJ291dHB1dEFtb3VudCcsXG4gICAgICAnY2hhbmdlT3V0cHV0cycsXG4gICAgICAnY2hhbmdlQW1vdW50JyxcbiAgICAgICdmZWUnLFxuICAgICAgJ3dpdGhkcmF3QW1vdW50JyxcbiAgICAgICdzZW5kZXInLFxuICAgICAgJ3R5cGUnLFxuICAgIF07XG5cbiAgICBjb25zdCBvdXRwdXRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdID0gdGhpcy5fcmVjaXBpZW50cztcbiAgICBjb25zdCBvdXRwdXRBbW91bnQgPSBvdXRwdXRzXG4gICAgICAucmVkdWNlKChhY2N1bXVsYXRvciwgY3VycmVudCkgPT4gYWNjdW11bGF0b3IucGx1cyhjdXJyZW50LmFtb3VudCksIG5ldyBCaWdOdW1iZXIoJzAnKSlcbiAgICAgIC50b1N0cmluZygpO1xuICAgIHJldHVybiB7XG4gICAgICBkaXNwbGF5T3JkZXIsXG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIG91dHB1dHMsXG4gICAgICBvdXRwdXRBbW91bnQsXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXSxcbiAgICAgIGNoYW5nZUFtb3VudDogJzAnLFxuICAgICAgZmVlOiB7IGZlZTogdGhpcy5nZXRGZWUoKSB9LFxuICAgICAgc2VuZGVyOiB0aGlzLnNlbmRlcixcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
466
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdFQUFxQztBQUNyQyxtREFBdUg7QUFFdkgsZ0RBTTJCO0FBQzNCLHVFQUF5RDtBQUN6RCxxREFBNkI7QUFHN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBRXRCLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBbUI5QyxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsMEJBQTBCO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDWCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxHQUFHLElBQUksYUFBYSxD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QUFPO2FBQ3pCLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksc0JBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN0RixRQUFRLEVBQUUsQ0FBQztRQUNkLE9BQU87WUFDTCxZQUFZO1lBQ1osRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsT0FBTztZQUNQLFlBQVk7WUFDWixhQUFhLEVBQUUsRUFBRTtZQUNqQixZQUFZLEVBQUUsR0FBRztZQUNqQixHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTlmRCxrQ0E4ZkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uVHlwZSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uUmVjaXBpZW50IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb25Cb2R5LFxuICBUcmFuc2FjdGlvbkNsYXVzZSxcbiAgVHJhbnNhY3Rpb24gYXMgVmV0VHJhbnNhY3Rpb24sXG4gIFNlY3AyNTZrMSxcbiAgSGV4VUludCxcbn0gZnJvbSAnQHZlY2hhaW4vc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgbmNfdXRpbHMgZnJvbSAnQG5vYmxlL2N1cnZlcy9hYnN0cmFjdC91dGlscyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgVmV0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbiwgVmV0VHJhbnNhY3Rpb25EYXRhIH0gZnJvbSAnLi4vaWZhY2UnO1xuXG5jb25zdCBnYXNQcmljZSA9IDFlMTM7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbiB7XG4gIHByb3RlY3RlZCBfcmF3VHJhbnNhY3Rpb246IFZldFRyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgX3R5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbiAgcHJvdGVjdGVkIF9yZWNpcGllbnRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICBwcm90ZWN0ZWQgX2NsYXVzZXM6IFRyYW5zYWN0aW9uQ2xhdXNlW107XG4gIHByb3RlY3RlZCBfY29udHJhY3Q6IHN0cmluZztcbiAgcHJvdGVjdGVkIF90cmFuc2FjdGlvbkRhdGE6IHN0cmluZztcbiAgcHJpdmF0ZSBfY2hhaW5UYWc6IG51bWJlcjtcbiAgcHJpdmF0ZSBfYmxvY2tSZWY6IHN0cmluZztcbiAgcHJpdmF0ZSBfZXhwaXJhdGlvbjogbnVtYmVyO1xuICBwcml2YXRlIF9nYXNQcmljZUNvZWY6IG51bWJlcjtcbiAgcHJpdmF0ZSBfZ2FzOiBudW1iZXI7XG4gIHByaXZhdGUgX2RlcGVuZHNPbjogc3RyaW5nIHwgbnVsbDtcbiAgcHJpdmF0ZSBfbm9uY2U6IG51bWJlcjtcbiAgcHJpdmF0ZSBfc2VuZGVyOiBzdHJpbmc7XG4gIHByaXZhdGUgX3NlbmRlclNpZ25hdHVyZTogQnVmZmVyIHwgbnVsbDtcbiAgcHJpdmF0ZSBfZmVlUGF5ZXJBZGRyZXNzOiBzdHJpbmc7XG4gIHByaXZhdGUgX2ZlZVBheWVyU2lnbmF0dXJlOiBCdWZmZXIgfCBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gICAgdGhpcy5fY2hhaW5UYWcgPSAweDI3OyAvLyBJbml0aWFsaXplIHRvIDM5ICgweDI3KVxuICAgIHRoaXMuX2Jsb2NrUmVmID0gJzB4MCc7XG4gICAgdGhpcy5fZXhwaXJhdGlvbiA9IDY0O1xuICAgIHRoaXMuX2NsYXVzZXMgPSBbXTtcbiAgICB0aGlzLl9nYXNQcmljZUNvZWYgPSAxMjg7XG4gICAgdGhpcy5fZ2FzID0gMDtcbiAgICB0aGlzLl9kZXBlbmRzT24gPSBudWxsO1xuICAgIHRoaXMuX25vbmNlID0gMHgwO1xuICAgIHRoaXMuX3JlY2lwaWVudHMgPSBbXTtcbiAgICB0aGlzLl9zZW5kZXJTaWduYXR1cmUgPSBudWxsO1xuICAgIHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlID0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICB0aGlzLmdlbmVyYXRlVHhuSWRBbmRTZXRTZW5kZXIoKTtcbiAgICByZXR1cm4gdGhpcy5faWQgPz8gJ1VOQVZBSUxBQkxFJztcbiAgfVxuXG4gIGdldCByYXdUcmFuc2FjdGlvbigpOiBWZXRUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Jhd1RyYW5zYWN0aW9uO1xuICB9XG5cbiAgc2V0IHJhd1RyYW5zYWN0aW9uKHJhd1R4OiBWZXRUcmFuc2FjdGlvbikge1xuICAgIHRoaXMuX3Jhd1RyYW5zYWN0aW9uID0gcmF3VHg7XG4gIH1cblxuICBnZXQgdHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG5cbiAgc2V0IHR5cGUodHlwZTogVHJhbnNhY3Rpb25UeXBlKSB7XG4gICAgdGhpcy5fdHlwZSA9IHR5cGU7XG4gIH1cblxuICBnZXQgc2VuZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRlcjtcbiAgfVxuXG4gIHNldCBzZW5kZXIoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2VuZGVyID0gYWRkcmVzcztcbiAgfVxuXG4gIGdldCBzZW5kZXJTaWduYXR1cmUoKTogVWludDhBcnJheSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuX3NlbmRlclNpZ25hdHVyZSkge1xuICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHRoaXMuX3NlbmRlclNpZ25hdHVyZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgc2V0IHNlbmRlclNpZ25hdHVyZShzaWc6IEJ1ZmZlcikge1xuICAgIHRoaXMuX3NlbmRlclNpZ25hdHVyZSA9IHNpZztcbiAgfVxuXG4gIGdldCBmZWVQYXllckFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZmVlUGF5ZXJBZGRyZXNzO1xuICB9XG5cbiAgc2V0IGZlZVBheWVyQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mZWVQYXllckFkZHJlc3MgPSBhZGRyZXNzO1xuICB9XG5cbiAgZ2V0IGZlZVBheWVyU2lnbmF0dXJlKCk6IFVpbnQ4QXJyYXkgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLl9mZWVQYXllclNpZ25hdHVyZSkge1xuICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBzZXQgZmVlUGF5ZXJTaWduYXR1cmUoc2lnOiBCdWZmZXIpIHtcbiAgICB0aGlzLl9mZWVQYXllclNpZ25hdHVyZSA9IHNpZztcbiAgfVxuXG4gIGdldCBjaGFpblRhZygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jaGFpblRhZztcbiAgfVxuXG4gIHNldCBjaGFpblRhZyh0YWc6IG51bWJlcikge1xuICAgIHRoaXMuX2NoYWluVGFnID0gdGFnO1xuICB9XG5cbiAgZ2V0IGJsb2NrUmVmKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Jsb2NrUmVmO1xuICB9XG5cbiAgc2V0IGJsb2NrUmVmKHJlZjogc3RyaW5nKSB7XG4gICAgdGhpcy5fYmxvY2tSZWYgPSByZWY7XG4gIH1cblxuICBnZXQgZXhwaXJhdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9leHBpcmF0aW9uO1xuICB9XG5cbiAgc2V0IGV4cGlyYXRpb24oZXhwOiBudW1iZXIpIHtcbiAgICB0aGlzLl9leHBpcmF0aW9uID0gZXhwO1xuICB9XG5cbiAgZ2V0IHJlY2lwaWVudHMoKTogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlY2lwaWVudHM7XG4gIH1cblxuICBzZXQgcmVjaXBpZW50cyhyZWNpcGllbnRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdKSB7XG4gICAgdGhpcy5fcmVjaXBpZW50cyA9IHJlY2lwaWVudHM7XG4gIH1cblxuICBnZXQgY2xhdXNlcygpOiBUcmFuc2FjdGlvbkNsYXVzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fY2xhdXNlcztcbiAgfVxuXG4gIHNldCBjbGF1c2VzKGNsYXVzZXM6IFRyYW5zYWN0aW9uQ2xhdXNlW10pIHtcbiAgICB0aGlzLl9jbGF1c2VzID0gY2xhdXNlcztcbiAgfVxuXG4gIGdldCBnYXNQcmljZUNvZWYoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZ2FzUHJpY2VDb2VmO1xuICB9XG5cbiAgc2V0IGdhc1ByaWNlQ29lZihjb2VmOiBudW1iZXIpIHtcbiAgICB0aGlzLl9nYXNQcmljZUNvZWYgPSBjb2VmO1xuICB9XG5cbiAgZ2V0IGdhcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9nYXM7XG4gIH1cblxuICBzZXQgZ2FzKGc6IG51bWJlcikge1xuICAgIHRoaXMuX2dhcyA9IGc7XG4gIH1cblxuICBnZXQgZGVwZW5kc09uKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9kZXBlbmRzT247XG4gIH1cblxuICBzZXQgZGVwZW5kc09uKGRlcDogc3RyaW5nIHwgbnVsbCkge1xuICAgIHRoaXMuX2RlcGVuZHNPbiA9IGRlcDtcbiAgfVxuXG4gIGdldCBub25jZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9ub25jZTtcbiAgfVxuXG4gIHNldCBub25jZShuOiBudW1iZXIpIHtcbiAgICB0aGlzLl9ub25jZSA9IG47XG4gIH1cblxuICBnZXQgY29udHJhY3QoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29udHJhY3Q7XG4gIH1cblxuICBzZXQgY29udHJhY3QoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29udHJhY3QgPSBhZGRyZXNzO1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uRGF0YSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbkRhdGE7XG4gIH1cblxuICBzZXQgdHJhbnNhY3Rpb25EYXRhKHRyYW5zYWN0aW9uRGF0YTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb25EYXRhID0gdHJhbnNhY3Rpb25EYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgc2lnbmF0dXJlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyB0cmFuc2FjdGlvblxuICAgKiBSZXF1aXJlZCBieSBCYXNlVHJhbnNhY3Rpb25cbiAgICovXG4gIGdldCBzaWduYXR1cmUoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHNpZ3M6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKHRoaXMuX3NlbmRlclNpZ25hdHVyZSkge1xuICAgICAgc2lncy5wdXNoKEJ1ZmZlci5mcm9tKHRoaXMuX3NlbmRlclNpZ25hdHVyZSkudG9TdHJpbmcoJ2hleCcpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlKSB7XG4gICAgICBzaWdzLnB1c2goQnVmZmVyLmZyb20odGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUpLnRvU3RyaW5nKCdoZXgnKSk7XG4gICAgfVxuICAgIHJldHVybiBzaWdzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBzaWduYXR1cmVzIGZvciB0aGlzIHRyYW5zYWN0aW9uXG4gICAqIFJlcXVpcmVkIGJ5IEJhc2VUcmFuc2FjdGlvblxuICAgKiBOb3RlOiBUaGlzIGlzIG1haW5seSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBiYXNlIGNsYXNzLlxuICAgKiBQcmVmZXIgdXNpbmcgc2VuZGVyU2lnbmF0dXJlIGFuZCBmZWVQYXllclNpZ25hdHVyZSBkaXJlY3RseS5cbiAgICovXG4gIHNldCBzaWduYXR1cmUoc2lnczogc3RyaW5nW10pIHtcbiAgICBpZiAoc2lncy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLl9zZW5kZXJTaWduYXR1cmUgPSBCdWZmZXIuZnJvbShzaWdzWzBdLCAnaGV4Jyk7XG4gICAgfVxuICAgIGlmIChzaWdzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlID0gQnVmZmVyLmZyb20oc2lnc1sxXSwgJ2hleCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBjYW5TaWduKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoaXMgaXMgYSBmZWUgZGVsZWdhdGVkIHRyYW5zYWN0aW9uXG4gICAqL1xuICBpc0ZlZURlbGVnYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9mZWVQYXllckFkZHJlc3M7XG4gIH1cblxuICBhZGRSZWNpcGllbnRzKGNsYXVzZXM6IFRyYW5zYWN0aW9uQ2xhdXNlW10pOiB2b2lkIHtcbiAgICB0aGlzLl9yZWNpcGllbnRzID0gY2xhdXNlcy5tYXAoKGNsYXVzZSkgPT4gKHtcbiAgICAgIGFkZHJlc3M6IChjbGF1c2UudG8gfHwgJzB4MCcpLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSxcbiAgICAgIGFtb3VudDogKGNsYXVzZS52YWx1ZSB8fCAnMCcpLnRvU3RyaW5nKCksXG4gICAgfSkpO1xuICB9XG5cbiAgYnVpbGRDbGF1c2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NsYXVzZXMgPSB0aGlzLl9yZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiAoe1xuICAgICAgdG86IHJlY2lwaWVudC5hZGRyZXNzLFxuICAgICAgdmFsdWU6IHJlY2lwaWVudC5hbW91bnQsXG4gICAgICBkYXRhOiAnMHgnLFxuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQb3B1bGF0ZXMgdGhlIHRyYW5zYWN0aW9uIG9iamVjdCB3aXRoIGRhdGEgZnJvbSBhIGRlc2VyaWFsaXplZCBWZUNoYWluIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBzaWduZWRUeCAtIFRoZSBkZXNlcmlhbGl6ZWQgVmVDaGFpbiB0cmFuc2FjdGlvbiBjb250YWluaW5nIGJvZHksIHNpZ25hdHVyZXMsIGFuZCBvdGhlciB0cmFuc2FjdGlvbiBkYXRhXG4gICAqIEB0aHJvd3Mge0ludmFsaWRUcmFuc2FjdGlvbkVycm9yfSBXaGVuIHRoZSB0cmFuc2FjdGlvbiBpcyBpbnZhbGlkIG9yIG1pc3NpbmcgcmVxdWlyZWQgZGF0YVxuICAgKi9cbiAgZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4OiBWZXRUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIXNpZ25lZFR4IHx8ICFzaWduZWRUeC5ib2R5KSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyB0cmFuc2FjdGlvbiBib2R5Jyk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0b3JlIHRoZSByYXcgdHJhbnNhY3Rpb25cbiAgICAgIHRoaXMucmF3VHJhbnNhY3Rpb24gPSBzaWduZWRUeDtcblxuICAgICAgLy8gU2V0IHRyYW5zYWN0aW9uIGJvZHkgcHJvcGVydGllc1xuICAgICAgY29uc3QgYm9keSA9IHNpZ25lZFR4LmJvZHk7XG4gICAgICB0aGlzLmNoYWluVGFnID0gdHlwZW9mIGJvZHkuY2hhaW5UYWcgPT09ICdudW1iZXInID8gYm9keS5jaGFpblRhZyA6IDA7XG4gICAgICB0aGlzLmJsb2NrUmVmID0gYm9keS5ibG9ja1JlZiB8fCAnMHgwJztcbiAgICAgIHRoaXMuZXhwaXJhdGlvbiA9IHR5cGVvZiBib2R5LmV4cGlyYXRpb24gPT09ICdudW1iZXInID8gYm9keS5leHBpcmF0aW9uIDogNjQ7XG4gICAgICB0aGlzLmNsYXVzZXMgPSBib2R5LmNsYXVzZXMgfHwgW107XG4gICAgICB0aGlzLmdhc1ByaWNlQ29lZiA9IHR5cGVvZiBib2R5Lmdhc1ByaWNlQ29lZiA9PT0gJ251bWJlcicgPyBib2R5Lmdhc1ByaWNlQ29lZiA6IDEyODtcbiAgICAgIHRoaXMuZ2FzID0gdHlwZW9mIGJvZHkuZ2FzID09PSAnbnVtYmVyJyA/IGJvZHkuZ2FzIDogTnVtYmVyKGJvZHkuZ2FzKSB8fCAwO1xuICAgICAgdGhpcy5kZXBlbmRzT24gPSBib2R5LmRlcGVuZHNPbiB8fCBudWxsO1xuICAgICAgdGhpcy5ub25jZSA9IHR5cGVvZiBib2R5Lm5vbmNlID09PSAnbnVtYmVyJyA/IGJvZHkubm9uY2UgOiBOdW1iZXIoYm9keS5ub25jZSkgfHwgMDtcbiAgICAgIC8vIFNldCByZWNpcGllbnRzIGZyb20gY2xhdXNlc1xuICAgICAgdGhpcy5yZWNpcGllbnRzID0gYm9keS5jbGF1c2VzLm1hcCgoY2xhdXNlKSA9PiAoe1xuICAgICAgICBhZGRyZXNzOiAoY2xhdXNlLnRvIHx8ICcweDAnKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCksXG4gICAgICAgIGFtb3VudDogTnVtYmVyKGNsYXVzZS52YWx1ZSkudG9TdHJpbmcoKSxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcblxuICAgICAgLy8gU2V0IHNlbmRlciBhZGRyZXNzXG4gICAgICBpZiAoc2lnbmVkVHguc2lnbmF0dXJlICYmIHNpZ25lZFR4Lm9yaWdpbikge1xuICAgICAgICB0aGlzLnNlbmRlciA9IHNpZ25lZFR4Lm9yaWdpbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNldCBzaWduYXR1cmVzIGlmIHByZXNlbnRcbiAgICAgIGlmIChzaWduZWRUeC5zaWduYXR1cmUpIHtcbiAgICAgICAgLy8gRmlyc3Qgc2lnbmF0dXJlIGlzIHNlbmRlcidzIHNpZ25hdHVyZVxuICAgICAgICB0aGlzLnNlbmRlclNpZ25hdHVyZSA9IEJ1ZmZlci5mcm9tKHNpZ25lZFR4LnNpZ25hdHVyZS5zbGljZSgwLCBTZWNwMjU2azEuU0lHTkFUVVJFX0xFTkdUSCkpO1xuXG4gICAgICAgIC8vIElmIHRoZXJlJ3MgYWRkaXRpb25hbCBzaWduYXR1cmUgZGF0YSwgaXQncyB0aGUgZmVlIHBheWVyJ3Mgc2lnbmF0dXJlXG4gICAgICAgIGlmIChzaWduZWRUeC5zaWduYXR1cmUubGVuZ3RoID4gU2VjcDI1NmsxLlNJR05BVFVSRV9MRU5HVEgpIHtcbiAgICAgICAgICB0aGlzLmZlZVBheWVyU2lnbmF0dXJlID0gQnVmZmVyLmZyb20oc2lnbmVkVHguc2lnbmF0dXJlLnNsaWNlKFNlY3AyNTZrMS5TSUdOQVRVUkVfTEVOR1RIKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEZhaWxlZCB0byBkZXNlcmlhbGl6ZSB0cmFuc2FjdGlvbjogJHtlLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgYWRkU2VuZGVyU2lnbmF0dXJlKHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZW5kZXJTaWduYXR1cmUgPSBzaWduYXR1cmU7XG4gIH1cblxuICBhZGRGZWVQYXllclNpZ25hdHVyZShzaWduYXR1cmU6IEJ1ZmZlcik6IHZvaWQge1xuICAgIHRoaXMuZmVlUGF5ZXJTaWduYXR1cmUgPSBzaWduYXR1cmU7XG4gIH1cblxuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmJ1aWxkQ2xhdXNlcygpO1xuICAgIGF3YWl0IHRoaXMuYnVpbGRSYXdUcmFuc2FjdGlvbigpO1xuICAgIHRoaXMuZ2VuZXJhdGVUeG5JZEFuZFNldFNlbmRlcigpO1xuICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB0cmFuc2FjdGlvbiBJRCBmcm9tIHRoZSByYXcgdHJhbnNhY3Rpb24gaWYgaXQgaXMgc2lnbmVkXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBnZW5lcmF0ZVR4bklkQW5kU2V0U2VuZGVyKCk6IHZvaWQge1xuICAgIC8vIENoZWNrIGlmIHdlIGhhdmUgYSByYXcgdHJhbnNhY3Rpb25cbiAgICBpZiAoIXRoaXMucmF3VHJhbnNhY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnNlbmRlclNpZ25hdHVyZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBoYWxmU2lnbmVkVHJhbnNhY3Rpb246IFZldFRyYW5zYWN0aW9uID0gVmV0VHJhbnNhY3Rpb24ub2YodGhpcy5yYXdUcmFuc2FjdGlvbi5ib2R5LCB0aGlzLnNlbmRlclNpZ25hdHVyZSk7XG4gICAgICBpZiAoaGFsZlNpZ25lZFRyYW5zYWN0aW9uLnNpZ25hdHVyZSkge1xuICAgICAgICB0aGlzLl9yYXdUcmFuc2FjdGlvbiA9IGhhbGZTaWduZWRUcmFuc2FjdGlvbjtcbiAgICAgICAgdGhpcy5fc2VuZGVyID0gaGFsZlNpZ25lZFRyYW5zYWN0aW9uLm9yaWdpbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5mZWVQYXllclNpZ25hdHVyZSkge1xuICAgICAgICBjb25zdCBmdWxsU2lnbmVkVHJhbnNhY3Rpb246IFZldFRyYW5zYWN0aW9uID0gVmV0VHJhbnNhY3Rpb24ub2YoXG4gICAgICAgICAgaGFsZlNpZ25lZFRyYW5zYWN0aW9uLmJvZHksXG4gICAgICAgICAgbmNfdXRpbHMuY29uY2F0Qnl0ZXMoXG4gICAgICAgICAgICAvLyBEcm9wIGFueSBwcmV2aW91cyBnYXMgcGF5ZXIgc2lnbmF0dXJlLlxuICAgICAgICAgICAgaGFsZlNpZ25lZFRyYW5zYWN0aW9uLnNpZ25hdHVyZS5zbGljZSgwLCBTZWNwMjU2azEuU0lHTkFUVVJFX0xFTkdUSCksXG4gICAgICAgICAgICB0aGlzLmZlZVBheWVyU2lnbmF0dXJlXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICBpZiAoZnVsbFNpZ25lZFRyYW5zYWN0aW9uLnNpZ25hdHVyZSkge1xuICAgICAgICAgIHRoaXMuX3Jhd1RyYW5zYWN0aW9uID0gZnVsbFNpZ25lZFRyYW5zYWN0aW9uO1xuICAgICAgICAgIHRoaXMuX2lkID0gZnVsbFNpZ25lZFRyYW5zYWN0aW9uLmlkLnRvU3RyaW5nKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkUmF3VHJhbnNhY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb25Cb2R5OiBUcmFuc2FjdGlvbkJvZHkgPSB7XG4gICAgICBjaGFpblRhZzogdGhpcy5jaGFpblRhZyxcbiAgICAgIGJsb2NrUmVmOiB0aGlzLmJsb2NrUmVmLFxuICAgICAgZXhwaXJhdGlvbjogNjQsIC8vbW92ZSB0aGlzIHZhbHVlIHRvIGNvbnN0YW50c1xuICAgICAgY2xhdXNlczogdGhpcy5jbGF1c2VzLFxuICAgICAgZ2FzUHJpY2VDb2VmOiB0aGlzLmdhc1ByaWNlQ29lZixcbiAgICAgIGdhczogdGhpcy5nYXMsXG4gICAgICBkZXBlbmRzT246IG51bGwsXG4gICAgICBub25jZTogdGhpcy5ub25jZSxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlNlbmQpIHtcbiAgICAgIHRyYW5zYWN0aW9uQm9keS5yZXNlcnZlZCA9IHtcbiAgICAgICAgZmVhdHVyZXM6IDEsIC8vIG1hcmsgdHJhbnNhY3Rpb24gYXMgZGVsZWdhdGVkIGkuZS4gd2lsbCB1c2UgZ2FzIHBheWVyXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMucmF3VHJhbnNhY3Rpb24gPSBWZXRUcmFuc2FjdGlvbi5vZih0cmFuc2FjdGlvbkJvZHkpO1xuICB9XG5cbiAgbG9hZElucHV0c0FuZE91dHB1dHMoKTogdm9pZCB7XG4gICAgY29uc3QgdG90YWxBbW91bnQgPSB0aGlzLl9yZWNpcGllbnRzLnJlZHVjZShcbiAgICAgIChhY2N1bXVsYXRvciwgY3VycmVudCkgPT4gYWNjdW11bGF0b3IucGx1cyhjdXJyZW50LmFtb3VudCksXG4gICAgICBuZXcgQmlnTnVtYmVyKCcwJylcbiAgICApO1xuICAgIHRoaXMuX2lucHV0cyA9IFtcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzczogdGhpcy5zZW5kZXIsXG4gICAgICAgIHZhbHVlOiB0b3RhbEFtb3VudC50b1N0cmluZygpLFxuICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICB9LFxuICAgIF07XG4gICAgdGhpcy5fb3V0cHV0cyA9IHRoaXMuX3JlY2lwaWVudHMubWFwKChyZWNpcGllbnQpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzLFxuICAgICAgICB2YWx1ZTogcmVjaXBpZW50LmFtb3VudCBhcyBzdHJpbmcsXG4gICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBmcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBzaWduZWRUeG46IFZldFRyYW5zYWN0aW9uO1xuICAgIHRyeSB7XG4gICAgICBzaWduZWRUeG4gPSB1dGlscy5kZXNlcmlhbGl6ZVRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHRoaXMuZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4bik7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Kc29uKCk6IFZldFRyYW5zYWN0aW9uRGF0YSB7XG4gICAgY29uc3QganNvbjogVmV0VHJhbnNhY3Rpb25EYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBjaGFpblRhZzogdGhpcy5jaGFpblRhZyxcbiAgICAgIGJsb2NrUmVmOiB0aGlzLmJsb2NrUmVmLFxuICAgICAgZXhwaXJhdGlvbjogdGhpcy5leHBpcmF0aW9uLFxuICAgICAgcmVjaXBpZW50czogdGhpcy5yZWNpcGllbnRzLFxuICAgICAgZ2FzUHJpY2VDb2VmOiB0aGlzLmdhc1ByaWNlQ29lZixcbiAgICAgIGdhczogdGhpcy5nYXMsXG4gICAgICBkZXBlbmRzT246IHRoaXMuZGVwZW5kc09uLFxuICAgICAgbm9uY2U6IHRoaXMubm9uY2UsXG4gICAgICBzZW5kZXI6IHRoaXMuc2VuZGVyLFxuICAgICAgZmVlUGF5ZXI6IHRoaXMuZmVlUGF5ZXJBZGRyZXNzLFxuICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGZWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IEJpZ051bWJlcih0aGlzLmdhcylcbiAgICAgIC5tdWx0aXBsaWVkQnkoZ2FzUHJpY2UpXG4gICAgICAubXVsdGlwbGllZEJ5KG5ldyBCaWdOdW1iZXIodGhpcy5nYXNQcmljZUNvZWYpLmRpdmlkZWRCeSgyNTUpLnBsdXMoMSkpXG4gICAgICAudG9TdHJpbmcoKVxuICAgICAgLnNsaWNlKDAsIDE4KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2lnbmFibGVQYXlsb2FkKCk6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHRoaXMucmF3VHJhbnNhY3Rpb24uZW5jb2RlZCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Ccm9hZGNhc3RGb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMucmF3VHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgVHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplKCk7XG4gIH1cblxuICBzZXJpYWxpemUoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuc2VuZGVyU2lnbmF0dXJlKSB7XG4gICAgICByZXR1cm4gSGV4VUludC5vZih0aGlzLnJhd1RyYW5zYWN0aW9uLmVuY29kZWQpLnRvU3RyaW5nKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5mZWVQYXllclNpZ25hdHVyZSkge1xuICAgICAgICBjb25zdCBzZW5kZXJTaWduZWRUcmFuc2FjdGlvbjogVmV0VHJhbnNhY3Rpb24gPSBWZXRUcmFuc2FjdGlvbi5vZihcbiAgICAgICAgICB0aGlzLnJhd1RyYW5zYWN0aW9uLmJvZHksXG4gICAgICAgICAgdGhpcy5zZW5kZXJTaWduYXR1cmVcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIEhleFVJbnQub2Yoc2VuZGVyU2lnbmVkVHJhbnNhY3Rpb24uZW5jb2RlZCkudG9TdHJpbmcoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHNlbmRlclNpZ25lZFRyYW5zYWN0aW9uOiBWZXRUcmFuc2FjdGlvbiA9IFZldFRyYW5zYWN0aW9uLm9mKFxuICAgICAgICAgIHRoaXMucmF3VHJhbnNhY3Rpb24uYm9keSxcbiAgICAgICAgICB0aGlzLnNlbmRlclNpZ25hdHVyZVxuICAgICAgICApO1xuICAgICAgICBpZiAoc2VuZGVyU2lnbmVkVHJhbnNhY3Rpb24uc2lnbmF0dXJlKSB7XG4gICAgICAgICAgY29uc3QgZnVsbFNpZ25lZFRyYW5zYWN0aW9uOiBWZXRUcmFuc2FjdGlvbiA9IFZldFRyYW5zYWN0aW9uLm9mKFxuICAgICAgICAgICAgc2VuZGVyU2lnbmVkVHJhbnNhY3Rpb24uYm9keSxcbiAgICAgICAgICAgIG5jX3V0aWxzLmNvbmNhdEJ5dGVzKFxuICAgICAgICAgICAgICBzZW5kZXJTaWduZWRUcmFuc2FjdGlvbi5zaWduYXR1cmUuc2xpY2UoMCwgU2VjcDI1NmsxLlNJR05BVFVSRV9MRU5HVEgpLFxuICAgICAgICAgICAgICB0aGlzLmZlZVBheWVyU2lnbmF0dXJlXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gSGV4VUludC5vZihmdWxsU2lnbmVkVHJhbnNhY3Rpb24uZW5jb2RlZCkudG9TdHJpbmcoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIGlzIG5vdCBzaWduZWQgcHJvcGVybHknKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBkZXNlcmlhbGl6ZVRyYW5zYWN0aW9uKHJhd1R4OiBzdHJpbmcpOiBWZXRUcmFuc2FjdGlvbiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghcmF3VHgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdSYXcgdHJhbnNhY3Rpb24gc3RyaW5nIGNhbm5vdCBiZSBlbXB0eScpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHV0aWxzLmRlc2VyaWFsaXplVHJhbnNhY3Rpb24ocmF3VHgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgRmFpbGVkIHRvIGRlc2VyaWFsaXplIHRyYW5zYWN0aW9uOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICBleHBsYWluVHJhbnNhY3Rpb24oKTogVmV0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gICAgY29uc3QgZGlzcGxheU9yZGVyID0gW1xuICAgICAgJ2lkJyxcbiAgICAgICdvdXRwdXRzJyxcbiAgICAgICdvdXRwdXRBbW91bnQnLFxuICAgICAgJ2NoYW5nZU91dHB1dHMnLFxuICAgICAgJ2NoYW5nZUFtb3VudCcsXG4gICAgICAnZmVlJyxcbiAgICAgICd3aXRoZHJhd0Ftb3VudCcsXG4gICAgICAnc2VuZGVyJyxcbiAgICAgICd0eXBlJyxcbiAgICBdO1xuXG4gICAgY29uc3Qgb3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSA9IHRoaXMuX3JlY2lwaWVudHM7XG4gICAgY29uc3Qgb3V0cHV0QW1vdW50ID0gb3V0cHV0c1xuICAgICAgLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnQpID0+IGFjY3VtdWxhdG9yLnBsdXMoY3VycmVudC5hbW91bnQpLCBuZXcgQmlnTnVtYmVyKCcwJykpXG4gICAgICAudG9TdHJpbmcoKTtcbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheU9yZGVyLFxuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBvdXRwdXRzLFxuICAgICAgb3V0cHV0QW1vdW50LFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICAgIGZlZTogeyBmZWU6IHRoaXMuZ2V0RmVlKCkgfSxcbiAgICAgIHNlbmRlcjogdGhpcy5zZW5kZXIsXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
|
-
import { BaseKey, BaseTransactionBuilder, BaseAddress, Recipient, TransactionType
|
|
2
|
+
import { BaseKey, BaseTransactionBuilder, BaseAddress, Recipient, TransactionType } from '@bitgo-beta/sdk-core';
|
|
3
3
|
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
4
4
|
import { Transaction } from '../transaction/transaction';
|
|
5
5
|
import { TransactionClause } from '@vechain/sdk-core';
|
|
@@ -13,6 +13,7 @@ export declare abstract class TransactionBuilder extends BaseTransactionBuilder
|
|
|
13
13
|
/** @inheritdoc */
|
|
14
14
|
protected set transaction(transaction: Transaction);
|
|
15
15
|
initBuilder(tx: Transaction): void;
|
|
16
|
+
chainTag(tag: number): this;
|
|
16
17
|
/**
|
|
17
18
|
* Sets the sender of this transaction.
|
|
18
19
|
*
|
|
@@ -30,7 +31,7 @@ export declare abstract class TransactionBuilder extends BaseTransactionBuilder
|
|
|
30
31
|
contract(address: string): this;
|
|
31
32
|
/** @inheritDoc */
|
|
32
33
|
addSenderSignature(signature: Buffer): void;
|
|
33
|
-
addFeePayerSignature(
|
|
34
|
+
addFeePayerSignature(signature: Buffer): void;
|
|
34
35
|
/** @inheritdoc */
|
|
35
36
|
protected buildImplementation(): Promise<Transaction>;
|
|
36
37
|
/** @inheritdoc */
|
|
@@ -43,7 +44,6 @@ export declare abstract class TransactionBuilder extends BaseTransactionBuilder
|
|
|
43
44
|
validateRawTransaction(rawTransaction: string): void;
|
|
44
45
|
validateValue(value: BigNumber): void;
|
|
45
46
|
addFeePayerAddress(address: string): void;
|
|
46
|
-
getFeePayerPubKey(): string;
|
|
47
47
|
/** @inheritdoc */
|
|
48
48
|
protected signImplementation(key: BaseKey): Transaction;
|
|
49
49
|
/** @inheritdoc */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/transactionBuilder/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,OAAO,EACP,sBAAsB,EACtB,WAAW,EAEX,SAAS,EACT,eAAe,
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/transactionBuilder/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,OAAO,EACP,sBAAsB,EACtB,WAAW,EAEX,SAAS,EACT,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;gBAExB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D,QAAQ,IAAI,MAAM;IAIlB,kBAAkB;IAClB,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,kBAAkB;IAClB,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,WAAW,EAEjD;IAED,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAIlC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK3B;;;;;OAKG;IACH,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAMnC,UAAU,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IASzC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAMpB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKnC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK3B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKhC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM/B,kBAAkB;IAClB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI3C,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAM3D,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,OAAO;IAEnF,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI;IAUpD,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAStD,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IASpD,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAQrC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIzC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAIvD,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAI/B,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;CAKlE"}
|
|
@@ -25,6 +25,10 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
25
25
|
initBuilder(tx) {
|
|
26
26
|
this._transaction = tx;
|
|
27
27
|
}
|
|
28
|
+
chainTag(tag) {
|
|
29
|
+
this._transaction.chainTag = tag;
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
28
32
|
/**
|
|
29
33
|
* Sets the sender of this transaction.
|
|
30
34
|
*
|
|
@@ -78,8 +82,8 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
78
82
|
addSenderSignature(signature) {
|
|
79
83
|
this.transaction.addSenderSignature(signature);
|
|
80
84
|
}
|
|
81
|
-
addFeePayerSignature(
|
|
82
|
-
this.transaction.addFeePayerSignature(
|
|
85
|
+
addFeePayerSignature(signature) {
|
|
86
|
+
this.transaction.addFeePayerSignature(signature);
|
|
83
87
|
}
|
|
84
88
|
/** @inheritdoc */
|
|
85
89
|
async buildImplementation() {
|
|
@@ -98,7 +102,6 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
98
102
|
if (!transaction) {
|
|
99
103
|
throw new Error('transaction not defined');
|
|
100
104
|
}
|
|
101
|
-
this.validateAddress({ address: transaction.sender });
|
|
102
105
|
for (const recipient of transaction.recipients) {
|
|
103
106
|
this.validateAddress({ address: recipient.address });
|
|
104
107
|
this.validateValue(new bignumber_js_1.default(recipient.amount));
|
|
@@ -133,9 +136,6 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
133
136
|
addFeePayerAddress(address) {
|
|
134
137
|
this.transaction.feePayerAddress = address;
|
|
135
138
|
}
|
|
136
|
-
getFeePayerPubKey() {
|
|
137
|
-
return this.transaction.getFeePayerPubKey();
|
|
138
|
-
}
|
|
139
139
|
/** @inheritdoc */
|
|
140
140
|
signImplementation(key) {
|
|
141
141
|
throw new Error('Method not implemented');
|
|
@@ -152,4 +152,4 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
exports.TransactionBuilder = TransactionBuilder;
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIvdHJhbnNhY3Rpb25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdFQUFxQztBQUNyQyxtREFTOEI7QUFHOUIscURBQTZCO0FBRzdCLE1BQXNCLGtCQUFtQixTQUFRLGlDQUFzQjtJQUdyRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBSUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFjLFdBQVcsQ0FBQyxXQUF3QjtRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQWU7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGFBQXFCO1FBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsVUFBVSxDQUFDLFVBQXVCO1FBQ2hDLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsYUFB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QU8sQ0FBQztJQUM3QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLEdBQVk7UUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVyxDQUFDLEdBQVk7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztDQUNGO0FBN0tELGdEQTZLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIEJhc2VBZGRyZXNzLFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlLFxuICBQdWJsaWNLZXksXG4gIFBhcnNlVHJhbnNhY3Rpb25FcnJvcixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25DbGF1c2UgfSBmcm9tICdAdmVjaGFpbi9zZGstY29yZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF90cmFuc2FjdGlvbjogVHJhbnNhY3Rpb247XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlO1xuXG4gIGdldE5vbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb24ubm9uY2U7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0IHRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNldCB0cmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0eDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzZW5kZXIgb2YgdGhpcyB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlbmRlckFkZHJlc3MgdGhlIGFjY291bnQgdGhhdCBpcyBzZW5kaW5nIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBzZW5kZXIoc2VuZGVyQWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzOiBzZW5kZXJBZGRyZXNzIH0pO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2VuZGVyID0gc2VuZGVyQWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHJlY2lwaWVudHMocmVjaXBpZW50czogUmVjaXBpZW50W10pOiB0aGlzIHtcbiAgICBmb3IgKGNvbnN0IHJlY2lwaWVudCBvZiByZWNpcGllbnRzKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzIH0pO1xuICAgICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIocmVjaXBpZW50LmFtb3VudCkpO1xuICAgIH1cbiAgICB0aGlzLnRyYW5zYWN0aW9uLnJlY2lwaWVudHMgPSByZWNpcGllbnRzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZ2FzKGc6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGcpKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmdhcyA9IGc7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBub25jZShuOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLm5vbmNlID0gbjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGV4cGlyYXRpb24oZXhwOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmV4cGlyYXRpb24gPSBleHA7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBkZXBlbmRzT24oZGVwOiBzdHJpbmcgfCBudWxsKTogdGhpcyB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5kZXBlbmRzT24gPSBkZXA7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBibG9ja1JlZihyZWY6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uYmxvY2tSZWYgPSByZWY7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBnYXNQcmljZUNvZWYoY29lZjogbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5nYXNQcmljZUNvZWYgPSBjb2VmO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgY29udHJhY3QoYWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzIH0pO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uY29udHJhY3QgPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGFkZFNlbmRlclNpZ25hdHVyZShzaWduYXR1cmU6IEJ1ZmZlcik6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uYWRkU2VuZGVyU2lnbmF0dXJlKHNpZ25hdHVyZSk7XG4gIH1cblxuICBhZGRGZWVQYXllclNpZ25hdHVyZShwdWJsaWNLZXk6IFB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmFkZEZlZVBheWVyU2lnbmF0dXJlKHB1YmxpY0tleSwgc2lnbmF0dXJlKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50eXBlID0gdGhpcy50cmFuc2FjdGlvblR5cGU7XG4gICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvbi5idWlsZCgpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBhZGRyZXNzICcgKyBhZGRyZXNzLmFkZHJlc3MpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpc1ZhbGlkVHJhbnNhY3Rpb25DbGF1c2VzKGNsYXVzZXM6IFRyYW5zYWN0aW9uQ2xhdXNlW10pOiBib29sZWFuO1xuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoIXRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RyYW5zYWN0aW9uIG5vdCBkZWZpbmVkJyk7XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogdHJhbnNhY3Rpb24uc2VuZGVyIH0pO1xuICAgIGZvciAoY29uc3QgcmVjaXBpZW50IG9mIHRyYW5zYWN0aW9uLnJlY2lwaWVudHMpIHtcbiAgICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogcmVjaXBpZW50LmFkZHJlc3MgfSk7XG4gICAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihyZWNpcGllbnQuYW1vdW50KSk7XG4gICAgfVxuICB9XG5cbiAgaXNWYWxpZFJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdHggPSB1dGlscy5kZXNlcmlhbGl6ZVRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWRUcmFuc2FjdGlvbkNsYXVzZXModHguYm9keS5jbGF1c2VzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghcmF3VHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcmF3IHRyYW5zYWN0aW9uOiBVbmRlZmluZWQnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmlzVmFsaWRSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbikpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogQmlnTnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlLmlzTmFOKCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgYW1vdW50IGZvcm1hdCcpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUuaXNMZXNzVGhhbigwKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiB6ZXJvJyk7XG4gICAgfVxuICB9XG5cbiAgYWRkRmVlUGF5ZXJBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uZmVlUGF5ZXJBZGRyZXNzID0gYWRkcmVzcztcbiAgfVxuXG4gIGdldEZlZVBheWVyUHViS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb24uZ2V0RmVlUGF5ZXJQdWJLZXkoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG59XG4iXX0=
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIvdHJhbnNhY3Rpb25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdFQUFxQztBQUNyQyxtREFROEI7QUFHOUIscURBQTZCO0FBRzdCLE1BQXNCLGtCQUFtQixTQUFRLGlDQUFzQjtJQUdyRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBSUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFjLFdBQVcsQ0FBQyxXQUF3QjtRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQWU7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXO1FBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxhQUFxQjtRQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUF1QjtRQUNoQyxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFB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QUcsT0FBTyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxHQUFZO1FBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVcsQ0FBQyxHQUFZO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsY0FBc0I7UUFDakQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7Q0FDRjtBQTdLRCxnREE2S0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQge1xuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBCYXNlQWRkcmVzcyxcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBSZWNpcGllbnQsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgUGFyc2VUcmFuc2FjdGlvbkVycm9yLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB1dGlscyBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNsYXVzZSB9IGZyb20gJ0B2ZWNoYWluL3Nkay1jb3JlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbjtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGU7XG5cbiAgZ2V0Tm9uY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbi5ub25jZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXQgdHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2V0IHRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHR4O1xuICB9XG5cbiAgY2hhaW5UYWcodGFnOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5jaGFpblRhZyA9IHRhZztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzZW5kZXIgb2YgdGhpcyB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlbmRlckFkZHJlc3MgdGhlIGFjY291bnQgdGhhdCBpcyBzZW5kaW5nIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBzZW5kZXIoc2VuZGVyQWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzOiBzZW5kZXJBZGRyZXNzIH0pO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2VuZGVyID0gc2VuZGVyQWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHJlY2lwaWVudHMocmVjaXBpZW50czogUmVjaXBpZW50W10pOiB0aGlzIHtcbiAgICBmb3IgKGNvbnN0IHJlY2lwaWVudCBvZiByZWNpcGllbnRzKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzIH0pO1xuICAgICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIocmVjaXBpZW50LmFtb3VudCkpO1xuICAgIH1cbiAgICB0aGlzLnRyYW5zYWN0aW9uLnJlY2lwaWVudHMgPSByZWNpcGllbnRzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZ2FzKGc6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGcpKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmdhcyA9IGc7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBub25jZShuOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLm5vbmNlID0gbjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGV4cGlyYXRpb24oZXhwOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmV4cGlyYXRpb24gPSBleHA7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBkZXBlbmRzT24oZGVwOiBzdHJpbmcgfCBudWxsKTogdGhpcyB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5kZXBlbmRzT24gPSBkZXA7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBibG9ja1JlZihyZWY6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uYmxvY2tSZWYgPSByZWY7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBnYXNQcmljZUNvZWYoY29lZjogbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5nYXNQcmljZUNvZWYgPSBjb2VmO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgY29udHJhY3QoYWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzIH0pO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uY29udHJhY3QgPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGFkZFNlbmRlclNpZ25hdHVyZShzaWduYXR1cmU6IEJ1ZmZlcik6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uYWRkU2VuZGVyU2lnbmF0dXJlKHNpZ25hdHVyZSk7XG4gIH1cblxuICBhZGRGZWVQYXllclNpZ25hdHVyZShzaWduYXR1cmU6IEJ1ZmZlcik6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uYWRkRmVlUGF5ZXJTaWduYXR1cmUoc2lnbmF0dXJlKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50eXBlID0gdGhpcy50cmFuc2FjdGlvblR5cGU7XG4gICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvbi5idWlsZCgpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBhZGRyZXNzICcgKyBhZGRyZXNzLmFkZHJlc3MpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBpc1ZhbGlkVHJhbnNhY3Rpb25DbGF1c2VzKGNsYXVzZXM6IFRyYW5zYWN0aW9uQ2xhdXNlW10pOiBib29sZWFuO1xuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoIXRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RyYW5zYWN0aW9uIG5vdCBkZWZpbmVkJyk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgcmVjaXBpZW50IG9mIHRyYW5zYWN0aW9uLnJlY2lwaWVudHMpIHtcbiAgICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogcmVjaXBpZW50LmFkZHJlc3MgfSk7XG4gICAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihyZWNpcGllbnQuYW1vdW50KSk7XG4gICAgfVxuICB9XG5cbiAgaXNWYWxpZFJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdHggPSB1dGlscy5kZXNlcmlhbGl6ZVRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWRUcmFuc2FjdGlvbkNsYXVzZXModHguYm9keS5jbGF1c2VzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghcmF3VHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcmF3IHRyYW5zYWN0aW9uOiBVbmRlZmluZWQnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmlzVmFsaWRSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbikpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogQmlnTnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlLmlzTmFOKCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgYW1vdW50IGZvcm1hdCcpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUuaXNMZXNzVGhhbigwKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiB6ZXJvJyk7XG4gICAgfVxuICB9XG5cbiAgYWRkRmVlUGF5ZXJBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uZmVlUGF5ZXJBZGRyZXNzID0gYWRkcmVzcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-vet",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.23",
|
|
4
4
|
"description": "BitGo SDK coin library for VeChain",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -40,10 +40,10 @@
|
|
|
40
40
|
]
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@bitgo-beta/abstract-eth": "1.2.3-alpha.
|
|
44
|
-
"@bitgo-beta/sdk-core": "2.4.1-alpha.
|
|
45
|
-
"@bitgo-beta/secp256k1": "1.0.1-alpha.
|
|
46
|
-
"@bitgo-beta/statics": "10.0.1-alpha.
|
|
43
|
+
"@bitgo-beta/abstract-eth": "1.2.3-alpha.345",
|
|
44
|
+
"@bitgo-beta/sdk-core": "2.4.1-alpha.345",
|
|
45
|
+
"@bitgo-beta/secp256k1": "1.0.1-alpha.303",
|
|
46
|
+
"@bitgo-beta/statics": "10.0.1-alpha.345",
|
|
47
47
|
"@noble/curves": "1.8.1",
|
|
48
48
|
"@vechain/sdk-core": "^1.2.0-rc.3",
|
|
49
49
|
"bignumber.js": "^9.1.1",
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
"tweetnacl": "^1.0.3"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@bitgo-beta/sdk-api": "1.6.1-alpha.
|
|
57
|
-
"@bitgo-beta/sdk-test": "^8.0.
|
|
56
|
+
"@bitgo-beta/sdk-api": "1.6.1-alpha.345",
|
|
57
|
+
"@bitgo-beta/sdk-test": "^8.0.95"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "272a270c85e82a73f9f28ee2655fedc99fbabef6"
|
|
60
60
|
}
|