@bitgo-beta/sdk-coin-hbar 1.0.2-beta.202 → 1.0.2-beta.2021
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/hbar.d.ts +82 -11
- package/dist/src/hbar.d.ts.map +1 -1
- package/dist/src/hbar.js +392 -25
- package/dist/src/hbarToken.d.ts +4 -1
- package/dist/src/hbarToken.d.ts.map +1 -1
- package/dist/src/hbarToken.js +12 -3
- package/dist/src/index.js +6 -2
- package/dist/src/lib/accountUpdateBuilder.d.ts +41 -0
- package/dist/src/lib/accountUpdateBuilder.d.ts.map +1 -0
- package/dist/src/lib/accountUpdateBuilder.js +100 -0
- package/dist/src/lib/coinTransferBuilder.d.ts +1 -1
- package/dist/src/lib/coinTransferBuilder.d.ts.map +1 -1
- package/dist/src/lib/coinTransferBuilder.js +12 -28
- package/dist/src/lib/constants.d.ts +2 -1
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +3 -2
- package/dist/src/lib/iface.d.ts +9 -1
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/index.d.ts +2 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +26 -10
- package/dist/src/lib/keyPair.d.ts +1 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +7 -7
- package/dist/src/lib/tokenAssociateBuilder.js +9 -28
- package/dist/src/lib/tokenTransferBuilder.d.ts +1 -1
- package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -1
- package/dist/src/lib/tokenTransferBuilder.js +15 -31
- package/dist/src/lib/transaction.d.ts +7 -1
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +94 -41
- package/dist/src/lib/transactionBuilder.d.ts +1 -1
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +18 -37
- package/dist/src/lib/transactionBuilderFactory.d.ts +5 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +12 -3
- package/dist/src/lib/transferBuilder.d.ts +1 -1
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +5 -24
- package/dist/src/lib/utils.d.ts +18 -1
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +112 -41
- package/dist/src/lib/walletInitializationBuilder.js +12 -28
- package/dist/src/seedValidator.js +24 -10
- package/dist/test/fixtures/hbar.d.ts +6 -0
- package/dist/test/fixtures/hbar.d.ts.map +1 -0
- package/dist/test/fixtures/hbar.js +9 -0
- package/dist/test/resources/hbar.d.ts +67 -0
- package/dist/test/resources/hbar.d.ts.map +1 -0
- package/dist/test/resources/hbar.js +73 -0
- package/dist/test/unit/fixtures/hbarBackupKey.d.ts +4 -0
- package/dist/test/unit/fixtures/hbarBackupKey.d.ts.map +1 -0
- package/dist/test/unit/fixtures/hbarBackupKey.js +10 -0
- package/dist/test/unit/getBuilderFactory.d.ts +3 -0
- package/dist/test/unit/getBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/getBuilderFactory.js +10 -0
- package/dist/test/unit/hbar.d.ts +2 -0
- package/dist/test/unit/hbar.d.ts.map +1 -0
- package/dist/test/unit/hbar.js +1496 -0
- package/dist/test/unit/hbarToken.d.ts +2 -0
- package/dist/test/unit/hbarToken.d.ts.map +1 -0
- package/dist/test/unit/hbarToken.js +34 -0
- package/dist/test/unit/keyPair.d.ts +2 -0
- package/dist/test/unit/keyPair.d.ts.map +1 -0
- package/dist/test/unit/keyPair.js +179 -0
- package/dist/test/unit/transaction.d.ts +2 -0
- package/dist/test/unit/transaction.d.ts.map +1 -0
- package/dist/test/unit/transaction.js +94 -0
- package/dist/test/unit/transactionBuilder/accountUpdateBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/accountUpdateBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/accountUpdateBuilder.js +221 -0
- package/dist/test/unit/transactionBuilder/tokenAssociateBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/tokenAssociateBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/tokenAssociateBuilder.js +215 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +329 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.js +353 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.js +214 -0
- package/dist/test/unit/utils.d.ts +2 -0
- package/dist/test/unit/utils.d.ts.map +1 -0
- package/dist/test/unit/utils.js +275 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +17 -14
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -94
|
@@ -1,31 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
4
|
};
|
|
24
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
6
|
exports.TransactionBuilder = void 0;
|
|
26
7
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
27
|
-
const
|
|
28
|
-
const
|
|
8
|
+
const long_1 = __importDefault(require("long"));
|
|
9
|
+
const proto_1 = require("@hashgraph/proto");
|
|
29
10
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
30
11
|
const transaction_1 = require("./transaction");
|
|
31
12
|
const utils_1 = require("./utils");
|
|
@@ -34,8 +15,8 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
34
15
|
constructor(_coinConfig) {
|
|
35
16
|
super(_coinConfig);
|
|
36
17
|
this._node = { nodeId: '0.0.4' };
|
|
37
|
-
this._duration = new proto.Duration({ seconds:
|
|
38
|
-
this._txBody = new proto.TransactionBody();
|
|
18
|
+
this._duration = new proto_1.proto.Duration({ seconds: long_1.default.fromNumber(180) });
|
|
19
|
+
this._txBody = new proto_1.proto.TransactionBody();
|
|
39
20
|
this._txBody.transactionValidDuration = this._duration;
|
|
40
21
|
this._multiSignerKeyPairs = [];
|
|
41
22
|
this._signatures = [];
|
|
@@ -44,12 +25,12 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
44
25
|
// region Base Builder
|
|
45
26
|
/** @inheritdoc */
|
|
46
27
|
async buildImplementation() {
|
|
47
|
-
this._txBody.nodeAccountID = utils_1.buildHederaAccountID(this._node.nodeId);
|
|
48
|
-
this._txBody.transactionFee =
|
|
28
|
+
this._txBody.nodeAccountID = (0, utils_1.buildHederaAccountID)(this._node.nodeId);
|
|
29
|
+
this._txBody.transactionFee = long_1.default.fromString(this._fee.fee);
|
|
49
30
|
this._txBody.transactionID = this.buildTxId();
|
|
50
31
|
this._txBody.memo = this._memo;
|
|
51
|
-
const hTransaction = this.transaction.hederaTx || new proto.Transaction();
|
|
52
|
-
hTransaction.bodyBytes = proto.TransactionBody.encode(this._txBody).finish();
|
|
32
|
+
const hTransaction = this.transaction.hederaTx || new proto_1.proto.Transaction();
|
|
33
|
+
hTransaction.bodyBytes = proto_1.proto.TransactionBody.encode(this._txBody).finish();
|
|
53
34
|
this.transaction.body(hTransaction);
|
|
54
35
|
for (const kp of this._multiSignerKeyPairs) {
|
|
55
36
|
await this.transaction.sign(kp);
|
|
@@ -100,9 +81,9 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
100
81
|
* @returns {proto.TransactionID} - Created TransactionID
|
|
101
82
|
*/
|
|
102
83
|
buildTxId() {
|
|
103
|
-
return new proto.TransactionID({
|
|
84
|
+
return new proto_1.proto.TransactionID({
|
|
104
85
|
transactionValidStart: this.validStart,
|
|
105
|
-
accountID: utils_1.buildHederaAccountID(this._source.address),
|
|
86
|
+
accountID: (0, utils_1.buildHederaAccountID)(this._source.address),
|
|
106
87
|
});
|
|
107
88
|
}
|
|
108
89
|
// endregion
|
|
@@ -127,7 +108,7 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
127
108
|
* @returns {TransactionBuilder} - This transaction builder
|
|
128
109
|
*/
|
|
129
110
|
node(node) {
|
|
130
|
-
if (!utils_1.isValidAddress(node.nodeId)) {
|
|
111
|
+
if (!(0, utils_1.isValidAddress)(node.nodeId)) {
|
|
131
112
|
throw new sdk_core_1.InvalidParameterValueError('Invalid Hedera node address');
|
|
132
113
|
}
|
|
133
114
|
this._node = node;
|
|
@@ -141,7 +122,7 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
141
122
|
*/
|
|
142
123
|
validDuration(validDuration) {
|
|
143
124
|
this.validateValue(new bignumber_js_1.default(validDuration));
|
|
144
|
-
this._duration = new proto.Duration({ seconds:
|
|
125
|
+
this._duration = new proto_1.proto.Duration({ seconds: long_1.default.fromNumber(validDuration) });
|
|
145
126
|
return this;
|
|
146
127
|
}
|
|
147
128
|
/**
|
|
@@ -192,18 +173,18 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
192
173
|
* @returns {TransactionBuilder} - this
|
|
193
174
|
*/
|
|
194
175
|
startTime(time) {
|
|
195
|
-
if (!utils_1.isValidTimeString(time)) {
|
|
176
|
+
if (!(0, utils_1.isValidTimeString)(time)) {
|
|
196
177
|
throw new sdk_core_1.InvalidParameterValueError('Invalid value for time parameter');
|
|
197
178
|
}
|
|
198
179
|
const timeParts = time.split('.').map((v) => new bignumber_js_1.default(v).toNumber());
|
|
199
|
-
this._startTime = { seconds:
|
|
180
|
+
this._startTime = { seconds: long_1.default.fromNumber(timeParts[0]), nanos: timeParts[1] };
|
|
200
181
|
return this;
|
|
201
182
|
}
|
|
202
183
|
// endregion
|
|
203
184
|
// region Getters and Setters
|
|
204
185
|
get validStart() {
|
|
205
186
|
if (!this._startTime) {
|
|
206
|
-
this.startTime(utils_1.getCurrentTime());
|
|
187
|
+
this.startTime((0, utils_1.getCurrentTime)());
|
|
207
188
|
}
|
|
208
189
|
return this._startTime;
|
|
209
190
|
}
|
|
@@ -219,7 +200,7 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
219
200
|
// region Validators
|
|
220
201
|
/** @inheritdoc */
|
|
221
202
|
validateAddress(address, addressFormat) {
|
|
222
|
-
if (!utils_1.isValidAddress(address.address)) {
|
|
203
|
+
if (!(0, utils_1.isValidAddress)(address.address)) {
|
|
223
204
|
throw new sdk_core_1.BuildTransactionError('Invalid address ' + address.address);
|
|
224
205
|
}
|
|
225
206
|
}
|
|
@@ -231,7 +212,7 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
231
212
|
}
|
|
232
213
|
/** @inheritdoc */
|
|
233
214
|
validateRawTransaction(rawTransaction) {
|
|
234
|
-
if (!utils_1.isValidRawTransactionFormat(rawTransaction)) {
|
|
215
|
+
if (!(0, utils_1.isValidRawTransactionFormat)(rawTransaction)) {
|
|
235
216
|
throw new sdk_core_1.ParseTransactionError('Invalid raw transaction');
|
|
236
217
|
}
|
|
237
218
|
}
|
|
@@ -267,4 +248,4 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
267
248
|
}
|
|
268
249
|
}
|
|
269
250
|
exports.TransactionBuilder = TransactionBuilder;
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLGdFQUFxQztBQUNyQywyQ0FBNkI7QUFDN0Isd0RBQTBDO0FBQzFDLG1EQVM4QjtBQUM5QiwrQ0FBNEM7QUFDNUMsbUNBTWlCO0FBQ2pCLHVDQUFvQztBQUdwQyxNQUFzQixrQkFBbUIsU0FBUSxpQ0FBc0I7SUFZckUsWUFBc0IsV0FBaUM7UUFDckQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBTlgsVUFBSyxHQUFlLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3hDLGNBQVMsR0FBbUIsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBTTFGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLDRCQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUcs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IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCAqIGFzIExvbmcgZnJvbSAnbG9uZyc7XG5pbXBvcnQgKiBhcyBwcm90byBmcm9tICdAaGFzaGdyYXBoL3Byb3RvJztcbmltcG9ydCB7XG4gIEJhc2VBZGRyZXNzLFxuICBCYXNlRmVlLFxuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yLFxuICBQYXJzZVRyYW5zYWN0aW9uRXJyb3IsXG4gIFNpZ25pbmdFcnJvcixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7XG4gIGJ1aWxkSGVkZXJhQWNjb3VudElELFxuICBnZXRDdXJyZW50VGltZSxcbiAgaXNWYWxpZEFkZHJlc3MsXG4gIGlzVmFsaWRSYXdUcmFuc2FjdGlvbkZvcm1hdCxcbiAgaXNWYWxpZFRpbWVTdHJpbmcsXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5pbXBvcnQgeyBIZWRlcmFOb2RlLCBTaWduYXR1cmVEYXRhIH0gZnJvbSAnLi9pZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9mZWU6IEJhc2VGZWU7XG4gIHByaXZhdGUgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbjtcbiAgcHJvdGVjdGVkIF9zb3VyY2U6IEJhc2VBZGRyZXNzO1xuICBwcm90ZWN0ZWQgX3N0YXJ0VGltZTogcHJvdG8uSVRpbWVzdGFtcDtcbiAgcHJvdGVjdGVkIF9tZW1vOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfdHhCb2R5OiBwcm90by5UcmFuc2FjdGlvbkJvZHk7XG4gIHByb3RlY3RlZCBfbm9kZTogSGVkZXJhTm9kZSA9IHsgbm9kZUlkOiAnMC4wLjQnIH07XG4gIHByb3RlY3RlZCBfZHVyYXRpb246IHByb3RvLkR1cmF0aW9uID0gbmV3IHByb3RvLkR1cmF0aW9uKHsgc2Vjb25kczogTG9uZy5mcm9tTnVtYmVyKDEyMCkgfSk7XG4gIHByb3RlY3RlZCBfbXVsdGlTaWduZXJLZXlQYWlyczogS2V5UGFpcltdO1xuICBwcm90ZWN0ZWQgX3NpZ25hdHVyZXM6IFNpZ25hdHVyZURhdGFbXTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3R4Qm9keSA9IG5ldyBwcm90by5UcmFuc2FjdGlvbkJvZHkoKTtcbiAgICB0aGlzLl90eEJvZHkudHJhbnNhY3Rpb25WYWxpZER1cmF0aW9uID0gdGhpcy5fZHVyYXRpb247XG4gICAgdGhpcy5fbXVsdGlTaWduZXJLZXlQYWlycyA9IFtdO1xuICAgIHRoaXMuX3NpZ25hdHVyZXMgPSBbXTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8vIHJlZ2lvbiBCYXNlIEJ1aWxkZXJcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLl90eEJvZHkubm9kZUFjY291bnRJRCA9IGJ1aWxkSGVkZXJhQWNjb3VudElEKHRoaXMuX25vZGUubm9kZUlkKTtcbiAgICB0aGlzLl90eEJvZHkudHJhbnNhY3Rpb25GZWUgPSBMb25nLmZyb21TdHJpbmcodGhpcy5fZmVlLmZlZSk7XG4gICAgdGhpcy5fdHhCb2R5LnRyYW5zYWN0aW9uSUQgPSB0aGlzLmJ1aWxkVHhJZCgpO1xuICAgIHRoaXMuX3R4Qm9keS5tZW1vID0gdGhpcy5fbWVtbztcbiAgICBjb25zdCBoVHJhbnNhY3Rpb24gPSB0aGlzLnRyYW5zYWN0aW9uLmhlZGVyYVR4IHx8IG5ldyBwcm90by5UcmFuc2FjdGlvbigpO1xuICAgIGhUcmFuc2FjdGlvbi5ib2R5Qnl0ZXMgPSBwcm90by5UcmFuc2FjdGlvbkJvZHkuZW5jb2RlKHRoaXMuX3R4Qm9keSkuZmluaXNoKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5ib2R5KGhUcmFuc2FjdGlvbik7XG4gICAgZm9yIChjb25zdCBrcCBvZiB0aGlzLl9tdWx0aVNpZ25lcktleVBhaXJzKSB7XG4gICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uLnNpZ24oa3ApO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHsgc2lnbmF0dXJlLCBrZXlQYWlyIH0gb2YgdGhpcy5fc2lnbmF0dXJlcykge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbi5hZGRTaWduYXR1cmUoc2lnbmF0dXJlLCBrZXlQYWlyKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogVWludDhBcnJheSB8IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICB0aGlzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdGhpcy5pbml0QnVpbGRlcih0eCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBUcmFuc2FjdGlvbiB7XG4gICAgdGhpcy5jaGVja0R1cGxpY2F0ZWRLZXlzKGtleSk7XG4gICAgY29uc3Qgc2lnbmVyID0gbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSk7XG5cbiAgICAvLyBTaWduaW5nIHRoZSB0cmFuc2FjdGlvbiBpcyBhbiBvcGVyYXRpb24gdGhhdCByZWxpZXMgb24gYWxsIHRoZSBkYXRhIGJlaW5nIHNldCxcbiAgICAvLyBzbyB3ZSBzZXQgdGhlIHNvdXJjZSBoZXJlIGFuZCBsZWF2ZSB0aGUgYWN0dWFsIHNpZ25pbmcgZm9yIHRoZSBidWlsZCBzdGVwXG4gICAgdGhpcy5fbXVsdGlTaWduZXJLZXlQYWlycy5wdXNoKHNpZ25lcik7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCAtIHRoZSB0cmFuc2FjdGlvbiBkYXRhXG4gICAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gdHg7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5sb2FkUHJldmlvdXNTaWduYXR1cmVzKCk7XG4gICAgY29uc3QgdHhEYXRhID0gdHgudG9Kc29uKCk7XG4gICAgdGhpcy5mZWUoeyBmZWU6IHR4RGF0YS5mZWUudG9TdHJpbmcoKSB9KTtcbiAgICB0aGlzLnNvdXJjZSh7IGFkZHJlc3M6IHR4RGF0YS5mcm9tIH0pO1xuICAgIHRoaXMuc3RhcnRUaW1lKHR4RGF0YS5zdGFydFRpbWUpO1xuICAgIHRoaXMubm9kZSh7IG5vZGVJZDogdHhEYXRhLm5vZGUgfSk7XG4gICAgdGhpcy52YWxpZER1cmF0aW9uKG5ldyBCaWdOdW1iZXIodHhEYXRhLnZhbGlkRHVyYXRpb24pLnRvTnVtYmVyKCkpO1xuICAgIGlmICh0eERhdGEubWVtbykge1xuICAgICAgdGhpcy5tZW1vKHR4RGF0YS5tZW1vKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEhlZGVyYSBUcmFuc2FjdGlvbklEXG4gICAqXG4gICAqIEByZXR1cm5zIHtwcm90by5UcmFuc2FjdGlvbklEfSAtIENyZWF0ZWQgVHJhbnNhY3Rpb25JRFxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHhJZCgpOiBwcm90by5UcmFuc2FjdGlvbklEIHtcbiAgICByZXR1cm4gbmV3IHByb3RvLlRyYW5zYWN0aW9uSUQoe1xuICAgICAgdHJhbnNhY3Rpb25WYWxpZFN0YXJ0OiB0aGlzLnZhbGlkU3RhcnQsXG4gICAgICBhY2NvdW50SUQ6IGJ1aWxkSGVkZXJhQWNjb3VudElEKHRoaXMuX3NvdXJjZS5hZGRyZXNzKSxcbiAgICB9KTtcbiAgfVxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gQ29tbW9uIGJ1aWxkZXIgbWV0aG9kc1xuICAvKipcbiAgICogIFNldCB0aGUgbWVtb1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVtbyAtIEEgaGVkZXJhIG1lbW8sIGNhbiBiZSBhIG1heGltdW0gb2YgMTAwIGJ5dGVzXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IC0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBtZW1vKG1lbW86IHN0cmluZyk6IHRoaXMge1xuICAgIGlmIChCdWZmZXIuZnJvbShtZW1vKS5sZW5ndGggPiAxMDApIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignTWVtbyBtdXN0IG5vdCBiZSBsb25nZXIgdGhhbiAxMDAgYnl0ZXMnKTtcbiAgICB9XG4gICAgdGhpcy5fbWVtbyA9IG1lbW87XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogIFNldCB0aGUgbm9kZSwgaXQgbWF5IHRha2UgdGhlIGZvcm1hdCBgJzxzaGFyZD4uPHJlYWxtPi48YWNjb3VudD4nYCBvciBgJzxhY2NvdW50PidgXG4gICAqXG4gICAqIEBwYXJhbSB7SGVkZXJhTm9kZX0gbm9kZSAtIEEgaGVkZXJhIG5vZGUgYWRkcmVzc1xuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSAtIFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgbm9kZShub2RlOiBIZWRlcmFOb2RlKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkQWRkcmVzcyhub2RlLm5vZGVJZCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBIZWRlcmEgbm9kZSBhZGRyZXNzJyk7XG4gICAgfVxuICAgIHRoaXMuX25vZGUgPSBub2RlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdHJhbnNhY3Rpb24gdmFsaWQgZHVyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHZhbGlkRHVyYXRpb24gLSBUaGUgdHJhbnNhY3Rpb24gdmFsaWQgZHVyYXRpb24gaW4gc2Vjb25kc1xuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSAtIFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgdmFsaWREdXJhdGlvbih2YWxpZER1cmF0aW9uOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcih2YWxpZER1cmF0aW9uKSk7XG4gICAgdGhpcy5fZHVyYXRpb24gPSBuZXcgcHJvdG8uRHVyYXRpb24oeyBzZWNvbmRzOiBMb25nLmZyb21OdW1iZXIodmFsaWREdXJhdGlvbikgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiBmZWVzXG4gICAqXG4gICAqIEBwYXJhbSB7QmFzZUZlZX0gZmVlIC0gVGhlIG1heGltdW0gZ2FzIHRvIHBheVxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSAtIFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgZmVlKGZlZTogQmFzZUZlZSk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGZlZS5mZWUpKTtcbiAgICB0aGlzLl9mZWUgPSBmZWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiBzb3VyY2VcbiAgICpcbiAgICogQHBhcmFtIHtCYXNlQWRkcmVzc30gYWRkcmVzcyAtIFRoZSBzb3VyY2UgYWNjb3VudFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSAtIFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgc291cmNlKGFkZHJlc3M6IEJhc2VBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoYWRkcmVzcyk7XG4gICAgdGhpcy5fc291cmNlID0gYWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYW4gZXh0ZXJuYWwgdHJhbnNhY3Rpb24gc2lnbmF0dXJlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzaWduYXR1cmUgLSBIZXggZW5jb2RlZCBzaWduYXR1cmUgc3RyaW5nXG4gICAqIEBwYXJhbSB7S2V5UGFpcn0ga2V5UGFpciAtIFRoZSBwdWJsaWMga2V5IGtleXBhaXIgdGhhdCB3YXMgdXNlZCB0byBjcmVhdGUgdGhlIHNpZ25hdHVyZVxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSAtIFRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZywga2V5UGFpcjogS2V5UGFpcik6IHRoaXMge1xuICAgIC8vIGlmIHdlIGFscmVhZHkgaGF2ZSBhIHNpZ25hdHVyZSBmb3IgdGhpcyBrZXkgcGFpciwganVzdCB1cGRhdGUgaXRcbiAgICBmb3IgKGNvbnN0IG9sZFNpZ25hdHVyZSBvZiB0aGlzLl9zaWduYXR1cmVzKSB7XG4gICAgICBpZiAob2xkU2lnbmF0dXJlLmtleVBhaXIuZ2V0S2V5cygpLnB1YiA9PT0ga2V5UGFpci5nZXRLZXlzKCkucHViKSB7XG4gICAgICAgIG9sZFNpZ25hdHVyZS5zaWduYXR1cmUgPSBzaWduYXR1cmU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG90aGVyd2lzZSBhZGQgdGhlIG5ldyBzaWduYXR1cmVcbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goeyBzaWduYXR1cmUsIGtleVBhaXIgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBzdGFydCB0aW1lXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0aW1lIC0gU3RyaW5nIHZhbHVlIG9mIHRoZSB0aW1lIHRvIHNldCB3aXRoIGZvcm1hdCA8c2Vjb25kcz4uPG5hbm9zPlxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSAtIHRoaXNcbiAgICovXG4gIHN0YXJ0VGltZSh0aW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRUaW1lU3RyaW5nKHRpbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgdmFsdWUgZm9yIHRpbWUgcGFyYW1ldGVyJyk7XG4gICAgfVxuICAgIGNvbnN0IHRpbWVQYXJ0cyA9IHRpbWUuc3BsaXQoJy4nKS5tYXAoKHYpID0+IG5ldyBCaWdOdW1iZXIodikudG9OdW1iZXIoKSk7XG4gICAgdGhpcy5fc3RhcnRUaW1lID0geyBzZWNvbmRzOiBMb25nLmZyb21OdW1iZXIodGltZVBhcnRzWzBdKSwgbmFub3M6IHRpbWVQYXJ0c1sxXSB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBHZXR0ZXJzIGFuZCBTZXR0ZXJzXG4gIHByaXZhdGUgZ2V0IHZhbGlkU3RhcnQoKTogcHJvdG8uSVRpbWVzdGFtcCB7XG4gICAgaWYgKCF0aGlzLl9zdGFydFRpbWUpIHtcbiAgICAgIHRoaXMuc3RhcnRUaW1lKGdldEN1cnJlbnRUaW1lKCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc3RhcnRUaW1lO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2V0IHRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XG4gIH1cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIFZhbGlkYXRvcnNcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBhZGRyZXNzICcgKyBhZGRyZXNzLmFkZHJlc3MpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICBpZiAoIW5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkua2V5IH0pKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGtleScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIWlzVmFsaWRSYXdUcmFuc2FjdGlvbkZvcm1hdChyYXdUcmFuc2FjdGlvbikpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24/OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUuaXNMZXNzVGhhbigwKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiB6ZXJvJyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2ZlZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIGZlZScpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fc291cmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3Npbmcgc291cmNlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGF0IHRoZSBnaXZlbiBrZXkgaXMgbm90IGFscmVhZHkgaW4gdGhpcy5fbXVsdGlTaWduZXJLZXlQYWlyc1xuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VLZXl9IGtleSAtIFRoZSBrZXkgdG8gY2hlY2tcbiAgICovXG4gIHByaXZhdGUgY2hlY2tEdXBsaWNhdGVkS2V5cyhrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICB0aGlzLl9tdWx0aVNpZ25lcktleVBhaXJzLmZvckVhY2goKF9zb3VyY2VLZXlQYWlyKSA9PiB7XG4gICAgICBpZiAoX3NvdXJjZUtleVBhaXIuZ2V0S2V5cygpLnBydiA9PT0ga2V5LmtleSkge1xuICAgICAgICB0aHJvdyBuZXcgU2lnbmluZ0Vycm9yKCdSZXBlYXRlZCBzaWduOiAnICsga2V5LmtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgLy8gZW5kcmVnaW9uXG59XG4iXX0=
|
|
251
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsZ0VBQXFDO0FBQ3JDLGdEQUF3QjtBQUN4Qiw0Q0FBeUM7QUFDekMsbURBUzhCO0FBQzlCLCtDQUE0QztBQUM1QyxtQ0FNaUI7QUFDakIsdUNBQW9DO0FBR3BDLE1BQXNCLGtCQUFtQixTQUFRLGlDQUFzQjtJQVlyRSxZQUFzQixXQUFpQztRQUNyRCxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFOWCxVQUFLLEdBQWUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDeEMsY0FBUyxHQUFtQixJQUFJLGFBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFNMUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGFBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDdkQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUkseUJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBQSw0QkFBb0IsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxHQUFHLGNBQUksQ0FBQyxVQUFV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R0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM3QyxNQUFNLElBQUksdUJBQVksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUVGO0FBN1FELGdEQTZRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCBMb25nIGZyb20gJ2xvbmcnO1xuaW1wb3J0IHsgcHJvdG8gfSBmcm9tICdAaGFzaGdyYXBoL3Byb3RvJztcbmltcG9ydCB7XG4gIEJhc2VBZGRyZXNzLFxuICBCYXNlRmVlLFxuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yLFxuICBQYXJzZVRyYW5zYWN0aW9uRXJyb3IsXG4gIFNpZ25pbmdFcnJvcixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7XG4gIGJ1aWxkSGVkZXJhQWNjb3VudElELFxuICBnZXRDdXJyZW50VGltZSxcbiAgaXNWYWxpZEFkZHJlc3MsXG4gIGlzVmFsaWRSYXdUcmFuc2FjdGlvbkZvcm1hdCxcbiAgaXNWYWxpZFRpbWVTdHJpbmcsXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5pbXBvcnQgeyBIZWRlcmFOb2RlLCBTaWduYXR1cmVEYXRhIH0gZnJvbSAnLi9pZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9mZWU6IEJhc2VGZWU7XG4gIHByaXZhdGUgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbjtcbiAgcHJvdGVjdGVkIF9zb3VyY2U6IEJhc2VBZGRyZXNzO1xuICBwcm90ZWN0ZWQgX3N0YXJ0VGltZTogcHJvdG8uSVRpbWVzdGFtcDtcbiAgcHJvdGVjdGVkIF9tZW1vOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfdHhCb2R5OiBwcm90by5UcmFuc2FjdGlvbkJvZHk7XG4gIHByb3RlY3RlZCBfbm9kZTogSGVkZXJhTm9kZSA9IHsgbm9kZUlkOiAnMC4wLjQnIH07XG4gIHByb3RlY3RlZCBfZHVyYXRpb246IHByb3RvLkR1cmF0aW9uID0gbmV3IHByb3RvLkR1cmF0aW9uKHsgc2Vjb25kczogTG9uZy5mcm9tTnVtYmVyKDE4MCkgfSk7XG4gIHByb3RlY3RlZCBfbXVsdGlTaWduZXJLZXlQYWlyczogS2V5UGFpcltdO1xuICBwcm90ZWN0ZWQgX3NpZ25hdHVyZXM6IFNpZ25hdHVyZURhdGFbXTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3R4Qm9keSA9IG5ldyBwcm90by5UcmFuc2FjdGlvbkJvZHkoKTtcbiAgICB0aGlzLl90eEJvZHkudHJhbnNhY3Rpb25WYWxpZER1cmF0aW9uID0gdGhpcy5fZHVyYXRpb247XG4gICAgdGhpcy5fbXVsdGlTaWduZXJLZXlQYWlycyA9IFtdO1xuICAgIHRoaXMuX3NpZ25hdHVyZXMgPSBbXTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8vIHJlZ2lvbiBCYXNlIEJ1aWxkZXJcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLl90eEJvZHkubm9kZUFjY291bnRJRCA9IGJ1aWxkSGVkZXJhQWNjb3VudElEKHRoaXMuX25vZGUubm9kZUlkKTtcbiAgICB0aGlzLl90eEJvZHkudHJhbnNhY3Rpb25GZWUgPSBMb25nLmZyb21TdHJpbmcodGhpcy5fZmVlLmZlZSk7XG4gICAgdGhpcy5fdHhCb2R5LnRyYW5zYWN0aW9uSUQgPSB0aGlzLmJ1aWxkVHhJZCgpO1xuICAgIHRoaXMuX3R4Qm9keS5tZW1vID0gdGhpcy5fbWVtbztcbiAgICBjb25zdCBoVHJhbnNhY3Rpb24gPSB0aGlzLnRyYW5zYWN0aW9uLmhlZGVyYVR4IHx8IG5ldyBwcm90by5UcmFuc2FjdGlvbigpO1xuICAgIGhUcmFuc2FjdGlvbi5ib2R5Qnl0ZXMgPSBwcm90by5UcmFuc2FjdGlvbkJvZHkuZW5jb2RlKHRoaXMuX3R4Qm9keSkuZmluaXNoKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5ib2R5KGhUcmFuc2FjdGlvbik7XG4gICAgZm9yIChjb25zdCBrcCBvZiB0aGlzLl9tdWx0aVNpZ25lcktleVBhaXJzKSB7XG4gICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uLnNpZ24oa3ApO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHsgc2lnbmF0dXJlLCBrZXlQYWlyIH0gb2YgdGhpcy5fc2lnbmF0dXJlcykge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbi5hZGRTaWduYXR1cmUoc2lnbmF0dXJlLCBrZXlQYWlyKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogVWludDhBcnJheSB8IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICB0aGlzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdGhpcy5pbml0QnVpbGRlcih0eCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBUcmFuc2FjdGlvbiB7XG4gICAgdGhpcy5jaGVja0R1cGxpY2F0ZWRLZXlzKGtleSk7XG4gICAgY29uc3Qgc2lnbmVyID0gbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSk7XG5cbiAgICAvLyBTaWduaW5nIHRoZSB0cmFuc2FjdGlvbiBpcyBhbiBvcGVyYXRpb24gdGhhdCByZWxpZXMgb24gYWxsIHRoZSBkYXRhIGJlaW5nIHNldCxcbiAgICAvLyBzbyB3ZSBzZXQgdGhlIHNvdXJjZSBoZXJlIGFuZCBsZWF2ZSB0aGUgYWN0dWFsIHNpZ25pbmcgZm9yIHRoZSBidWlsZCBzdGVwXG4gICAgdGhpcy5fbXVsdGlTaWduZXJLZXlQYWlycy5wdXNoKHNpZ25lcik7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCAtIHRoZSB0cmFuc2FjdGlvbiBkYXRhXG4gICAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gdHg7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5sb2FkUHJldmlvdXNTaWduYXR1cmVzKCk7XG4gICAgY29uc3QgdHhEYXRhID0gdHgudG9Kc29uKCk7XG4gICAgdGhpcy5mZWUoeyBmZWU6IHR4RGF0YS5mZWUudG9TdHJpbmcoKSB9KTtcbiAgICB0aGlzLnNvdXJjZSh7IGFkZHJlc3M6IHR4RGF0YS5mcm9tIH0pO1xuICAgIHRoaXMuc3RhcnRUaW1lKHR4RGF0YS5zdGFydFRpbWUpO1xuICAgIHRoaXMubm9kZSh7IG5vZGVJZDogdHhEYXRhLm5vZGUgfSk7XG4gICAgdGhpcy52YWxpZER1cmF0aW9uKG5ldyBCaWdOdW1iZXIodHhEYXRhLnZhbGlkRHVyYXRpb24pLnRvTnVtYmVyKCkpO1xuICAgIGlmICh0eERhdGEubWVtbykge1xuICAgICAgdGhpcy5tZW1vKHR4RGF0YS5tZW1vKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEhlZGVyYSBUcmFuc2FjdGlvbklEXG4gICAqXG4gICAqIEByZXR1cm5zIHtwcm90by5UcmFuc2FjdGlvbklEfSAtIENyZWF0ZWQgVHJhbnNhY3Rpb25JRFxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHhJZCgpOiBwcm90by5UcmFuc2FjdGlvbklEIHtcbiAgICByZXR1cm4gbmV3IHByb3RvLlRyYW5zYWN0aW9uSUQoe1xuICAgICAgdHJhbnNhY3Rpb25WYWxpZFN0YXJ0OiB0aGlzLnZhbGlkU3RhcnQsXG4gICAgICBhY2NvdW50SUQ6IGJ1aWxkSGVkZXJhQWNjb3VudElEKHRoaXMuX3NvdXJjZS5hZGRyZXNzKSxcbiAgICB9KTtcbiAgfVxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gQ29tbW9uIGJ1aWxkZXIgbWV0aG9kc1xuICAvKipcbiAgICogIFNldCB0aGUgbWVtb1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVtbyAtIEEgaGVkZXJhIG1lbW8sIGNhbiBiZSBhIG1heGltdW0gb2YgMTAwIGJ5dGVzXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IC0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBtZW1vKG1lbW86IHN0cmluZyk6IHRoaXMge1xuICAgIGlmIChCdWZmZXIuZnJvbShtZW1vKS5sZW5ndGggPiAxMDApIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignTWVtbyBtdXN0IG5vdCBiZSBsb25nZXIgdGhhbiAxMDAgYnl0ZXMnKTtcbiAgICB9XG4gICAgdGhpcy5fbWVtbyA9IG1lbW87XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogIFNldCB0aGUgbm9kZSwgaXQgbWF5IHRha2UgdGhlIGZvcm1hdCBgJzxzaGFyZD4uPHJlYWxtPi48YWNjb3VudD4nYCBvciBgJzxhY2NvdW50PidgXG4gICAqXG4gICAqIEBwYXJhbSB7SGVkZXJhTm9kZX0gbm9kZSAtIEEgaGVkZXJhIG5vZGUgYWRkcmVzc1xuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSAtIFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgbm9kZShub2RlOiBIZWRlcmFOb2RlKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkQWRkcmVzcyhub2RlLm5vZGVJZCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBIZWRlcmEgbm9kZSBhZGRyZXNzJyk7XG4gICAgfVxuICAgIHRoaXMuX25vZGUgPSBub2RlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdHJhbnNhY3Rpb24gdmFsaWQgZHVyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHZhbGlkRHVyYXRpb24gLSBUaGUgdHJhbnNhY3Rpb24gdmFsaWQgZHVyYXRpb24gaW4gc2Vjb25kc1xuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSAtIFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgdmFsaWREdXJhdGlvbih2YWxpZER1cmF0aW9uOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcih2YWxpZER1cmF0aW9uKSk7XG4gICAgdGhpcy5fZHVyYXRpb24gPSBuZXcgcHJvdG8uRHVyYXRpb24oeyBzZWNvbmRzOiBMb25nLmZyb21OdW1iZXIodmFsaWREdXJhdGlvbikgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiBmZWVzXG4gICAqXG4gICAqIEBwYXJhbSB7QmFzZUZlZX0gZmVlIC0gVGhlIG1heGltdW0gZ2FzIHRvIHBheVxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSAtIFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgZmVlKGZlZTogQmFzZUZlZSk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGZlZS5mZWUpKTtcbiAgICB0aGlzLl9mZWUgPSBmZWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiBzb3VyY2VcbiAgICpcbiAgICogQHBhcmFtIHtCYXNlQWRkcmVzc30gYWRkcmVzcyAtIFRoZSBzb3VyY2UgYWNjb3VudFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSAtIFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgc291cmNlKGFkZHJlc3M6IEJhc2VBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoYWRkcmVzcyk7XG4gICAgdGhpcy5fc291cmNlID0gYWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYW4gZXh0ZXJuYWwgdHJhbnNhY3Rpb24gc2lnbmF0dXJlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzaWduYXR1cmUgLSBIZXggZW5jb2RlZCBzaWduYXR1cmUgc3RyaW5nXG4gICAqIEBwYXJhbSB7S2V5UGFpcn0ga2V5UGFpciAtIFRoZSBwdWJsaWMga2V5IGtleXBhaXIgdGhhdCB3YXMgdXNlZCB0byBjcmVhdGUgdGhlIHNpZ25hdHVyZVxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSAtIFRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZywga2V5UGFpcjogS2V5UGFpcik6IHRoaXMge1xuICAgIC8vIGlmIHdlIGFscmVhZHkgaGF2ZSBhIHNpZ25hdHVyZSBmb3IgdGhpcyBrZXkgcGFpciwganVzdCB1cGRhdGUgaXRcbiAgICBmb3IgKGNvbnN0IG9sZFNpZ25hdHVyZSBvZiB0aGlzLl9zaWduYXR1cmVzKSB7XG4gICAgICBpZiAob2xkU2lnbmF0dXJlLmtleVBhaXIuZ2V0S2V5cygpLnB1YiA9PT0ga2V5UGFpci5nZXRLZXlzKCkucHViKSB7XG4gICAgICAgIG9sZFNpZ25hdHVyZS5zaWduYXR1cmUgPSBzaWduYXR1cmU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG90aGVyd2lzZSBhZGQgdGhlIG5ldyBzaWduYXR1cmVcbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goeyBzaWduYXR1cmUsIGtleVBhaXIgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBzdGFydCB0aW1lXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0aW1lIC0gU3RyaW5nIHZhbHVlIG9mIHRoZSB0aW1lIHRvIHNldCB3aXRoIGZvcm1hdCA8c2Vjb25kcz4uPG5hbm9zPlxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSAtIHRoaXNcbiAgICovXG4gIHN0YXJ0VGltZSh0aW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRUaW1lU3RyaW5nKHRpbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgdmFsdWUgZm9yIHRpbWUgcGFyYW1ldGVyJyk7XG4gICAgfVxuICAgIGNvbnN0IHRpbWVQYXJ0cyA9IHRpbWUuc3BsaXQoJy4nKS5tYXAoKHYpID0+IG5ldyBCaWdOdW1iZXIodikudG9OdW1iZXIoKSk7XG4gICAgdGhpcy5fc3RhcnRUaW1lID0geyBzZWNvbmRzOiBMb25nLmZyb21OdW1iZXIodGltZVBhcnRzWzBdKSwgbmFub3M6IHRpbWVQYXJ0c1sxXSB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBHZXR0ZXJzIGFuZCBTZXR0ZXJzXG4gIHByaXZhdGUgZ2V0IHZhbGlkU3RhcnQoKTogcHJvdG8uSVRpbWVzdGFtcCB7XG4gICAgaWYgKCF0aGlzLl9zdGFydFRpbWUpIHtcbiAgICAgIHRoaXMuc3RhcnRUaW1lKGdldEN1cnJlbnRUaW1lKCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc3RhcnRUaW1lO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2V0IHRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XG4gIH1cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIFZhbGlkYXRvcnNcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBhZGRyZXNzICcgKyBhZGRyZXNzLmFkZHJlc3MpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICBpZiAoIW5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkua2V5IH0pKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGtleScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIWlzVmFsaWRSYXdUcmFuc2FjdGlvbkZvcm1hdChyYXdUcmFuc2FjdGlvbikpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24/OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUuaXNMZXNzVGhhbigwKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiB6ZXJvJyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2ZlZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIGZlZScpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fc291cmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3Npbmcgc291cmNlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGF0IHRoZSBnaXZlbiBrZXkgaXMgbm90IGFscmVhZHkgaW4gdGhpcy5fbXVsdGlTaWduZXJLZXlQYWlyc1xuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VLZXl9IGtleSAtIFRoZSBrZXkgdG8gY2hlY2tcbiAgICovXG4gIHByaXZhdGUgY2hlY2tEdXBsaWNhdGVkS2V5cyhrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICB0aGlzLl9tdWx0aVNpZ25lcktleVBhaXJzLmZvckVhY2goKF9zb3VyY2VLZXlQYWlyKSA9PiB7XG4gICAgICBpZiAoX3NvdXJjZUtleVBhaXIuZ2V0S2V5cygpLnBydiA9PT0ga2V5LmtleSkge1xuICAgICAgICB0aHJvdyBuZXcgU2lnbmluZ0Vycm9yKCdSZXBlYXRlZCBzaWduOiAnICsga2V5LmtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgLy8gZW5kcmVnaW9uXG59XG4iXX0=
|
|
@@ -6,6 +6,7 @@ import { TransactionBuilder } from './transactionBuilder';
|
|
|
6
6
|
import { Transaction } from './transaction';
|
|
7
7
|
import { TokenAssociateBuilder } from './tokenAssociateBuilder';
|
|
8
8
|
import { TokenTransferBuilder } from './tokenTransferBuilder';
|
|
9
|
+
import { AccountUpdateBuilder } from './accountUpdateBuilder';
|
|
9
10
|
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
10
11
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
11
12
|
/** @inheritdoc */
|
|
@@ -20,6 +21,10 @@ export declare class TransactionBuilderFactory extends BaseTransactionBuilderFac
|
|
|
20
21
|
* Returns a builder to create a token association transaction
|
|
21
22
|
*/
|
|
22
23
|
getTokenAssociateBuilder(tx?: Transaction): TokenAssociateBuilder;
|
|
24
|
+
/**
|
|
25
|
+
* Returns a builder to create an account update transaction (staking operations)
|
|
26
|
+
*/
|
|
27
|
+
getAccountUpdateBuilder(tx?: Transaction): AccountUpdateBuilder;
|
|
23
28
|
/** @inheritDoc */
|
|
24
29
|
from(raw: Uint8Array | string): TransactionBuilder;
|
|
25
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,6BAA6B,EAI9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,8BAA8B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,2BAA2B;IAI7E,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,mBAAmB;IAIzD;;OAEG;IACH,uBAAuB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,oBAAoB;IAI/D;;OAEG;IACH,wBAAwB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,qBAAqB;IAIjE,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,kBAAkB;
|
|
1
|
+
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,6BAA6B,EAI9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,8BAA8B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,2BAA2B;IAI7E,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,mBAAmB;IAIzD;;OAEG;IACH,uBAAuB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,oBAAoB;IAI/D;;OAEG;IACH,wBAAwB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,qBAAqB;IAIjE;;OAEG;IACH,uBAAuB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,oBAAoB;IAI/D,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,kBAAkB;IAmBlD;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;CAK/B"}
|
|
@@ -8,6 +8,7 @@ const transaction_1 = require("./transaction");
|
|
|
8
8
|
const utils_1 = require("./utils");
|
|
9
9
|
const tokenAssociateBuilder_1 = require("./tokenAssociateBuilder");
|
|
10
10
|
const tokenTransferBuilder_1 = require("./tokenTransferBuilder");
|
|
11
|
+
const accountUpdateBuilder_1 = require("./accountUpdateBuilder");
|
|
11
12
|
class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
|
|
12
13
|
constructor(_coinConfig) {
|
|
13
14
|
super(_coinConfig);
|
|
@@ -32,19 +33,27 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
|
|
|
32
33
|
getTokenAssociateBuilder(tx) {
|
|
33
34
|
return this.initializeBuilder(tx, new tokenAssociateBuilder_1.TokenAssociateBuilder(this._coinConfig));
|
|
34
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Returns a builder to create an account update transaction (staking operations)
|
|
38
|
+
*/
|
|
39
|
+
getAccountUpdateBuilder(tx) {
|
|
40
|
+
return this.initializeBuilder(tx, new accountUpdateBuilder_1.AccountUpdateBuilder(this._coinConfig));
|
|
41
|
+
}
|
|
35
42
|
/** @inheritDoc */
|
|
36
43
|
from(raw) {
|
|
37
44
|
this.validateRawTransaction(raw);
|
|
38
45
|
const tx = this.parseRawTransaction(raw);
|
|
39
46
|
switch (tx.type) {
|
|
40
47
|
case sdk_core_1.TransactionType.Send:
|
|
41
|
-
return utils_1.isTokenTransfer(tx.txBody.cryptoTransfer)
|
|
48
|
+
return (0, utils_1.isTokenTransfer)(tx.txBody.cryptoTransfer)
|
|
42
49
|
? this.getTokenTransferBuilder(tx)
|
|
43
50
|
: this.getTransferBuilder(tx);
|
|
44
51
|
case sdk_core_1.TransactionType.WalletInitialization:
|
|
45
52
|
return this.getWalletInitializationBuilder(tx);
|
|
46
53
|
case sdk_core_1.TransactionType.AssociatedTokenAccountInitialization:
|
|
47
54
|
return this.getTokenAssociateBuilder(tx);
|
|
55
|
+
case sdk_core_1.TransactionType.AccountUpdate:
|
|
56
|
+
return this.getAccountUpdateBuilder(tx);
|
|
48
57
|
default:
|
|
49
58
|
throw new sdk_core_1.InvalidTransactionError('Invalid transaction ' + tx.txBody.data);
|
|
50
59
|
}
|
|
@@ -79,10 +88,10 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
|
|
|
79
88
|
* @param {any} rawTransaction - Transaction in any format
|
|
80
89
|
*/
|
|
81
90
|
validateRawTransaction(rawTransaction) {
|
|
82
|
-
if (!utils_1.isValidRawTransactionFormat(rawTransaction)) {
|
|
91
|
+
if (!(0, utils_1.isValidRawTransactionFormat)(rawTransaction)) {
|
|
83
92
|
throw new sdk_core_1.ParseTransactionError('Invalid raw transaction');
|
|
84
93
|
}
|
|
85
94
|
}
|
|
86
95
|
}
|
|
87
96
|
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtREFLOEI7QUFDOUIsK0VBQTRFO0FBQzVFLCtEQUE0RDtBQUU1RCwrQ0FBNEM7QUFDNUMsbUNBQXVFO0FBQ3ZFLG1FQUFnRTtBQUNoRSxpRUFBOEQ7QUFDOUQsaUVBQThEO0FBRTlELE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBQzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsOEJBQThCLENBQUMsRUFBZ0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkseURBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixrQkFBa0IsQ0FBQyxFQUFnQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSx5Q0FBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCx1QkFBdUIsQ0FBQyxFQUFnQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSwyQ0FBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQ7O09BRUc7SUFDSCx3QkFBd0IsQ0FBQyxFQUFnQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSw2Q0FBcUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7O09BRUc7SUFDSCx1QkFBdUIsQ0FBQyxFQUFnQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSwyQ0FBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUF3QjtRQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLEtBQUssMEJBQWUsQ0FBQyxJQUFJO2dCQUN2QixPQUFPLElBQUEsdUJBQWUsRUFBQyxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWUsQ0FBQztvQkFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUM7b0JBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEMsS0FBSywwQkFBZSxDQUFDLG9CQUFvQjtnQkFDdkMsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakQsS0FBSywwQkFBZSxDQUFDLG9DQUFvQztnQkFDdkQsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0MsS0FBSywwQkFBZSxDQUFDLGFBQWE7Z0JBQ2hDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFDO2dCQUNFLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9FLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssaUJBQWlCLENBQStCLEVBQTJCLEVBQUUsT0FBVTtRQUM3RixJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ1AsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssbUJBQW1CLENBQUMsY0FBbUM7UUFDN0QsTUFBTSxFQUFFLEdBQUcsSUFBSSx5QkFBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3QyxFQUFFLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLHNCQUFzQixDQUFDLGNBQW1DO1FBQ2hFLElBQUksQ0FBQyxJQUFBLG1DQUEyQixFQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDakQsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTVGRCw4REE0RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFBhcnNlVHJhbnNhY3Rpb25FcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3dhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBDb2luVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi9jb2luVHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBpc1Rva2VuVHJhbnNmZXIsIGlzVmFsaWRSYXdUcmFuc2FjdGlvbkZvcm1hdCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVG9rZW5Bc3NvY2lhdGVCdWlsZGVyIH0gZnJvbSAnLi90b2tlbkFzc29jaWF0ZUJ1aWxkZXInO1xuaW1wb3J0IHsgVG9rZW5UcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3Rva2VuVHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IEFjY291bnRVcGRhdGVCdWlsZGVyIH0gZnJvbSAnLi9hY2NvdW50VXBkYXRlQnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBnZXRUcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IENvaW5UcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgQ29pblRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHNwZWNpZmljIGJ1aWxkZXIgdG8gY3JlYXRlIGEgZnVuZHMgdG9rZW4gdHJhbnNmZXIgdHJhbnNhY3Rpb25cbiAgICovXG4gIGdldFRva2VuVHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUb2tlblRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUb2tlblRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGJ1aWxkZXIgdG8gY3JlYXRlIGEgdG9rZW4gYXNzb2NpYXRpb24gdHJhbnNhY3Rpb25cbiAgICovXG4gIGdldFRva2VuQXNzb2NpYXRlQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVG9rZW5Bc3NvY2lhdGVCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRva2VuQXNzb2NpYXRlQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGJ1aWxkZXIgdG8gY3JlYXRlIGFuIGFjY291bnQgdXBkYXRlIHRyYW5zYWN0aW9uIChzdGFraW5nIG9wZXJhdGlvbnMpXG4gICAqL1xuICBnZXRBY2NvdW50VXBkYXRlQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogQWNjb3VudFVwZGF0ZUJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgQWNjb3VudFVwZGF0ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGZyb20ocmF3OiBVaW50OEFycmF5IHwgc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB0aGlzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICBjb25zdCB0eCA9IHRoaXMucGFyc2VSYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgIHN3aXRjaCAodHgudHlwZSkge1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgcmV0dXJuIGlzVG9rZW5UcmFuc2Zlcih0eC50eEJvZHkuY3J5cHRvVHJhbnNmZXIhKVxuICAgICAgICAgID8gdGhpcy5nZXRUb2tlblRyYW5zZmVyQnVpbGRlcih0eClcbiAgICAgICAgICA6IHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyKHR4KTtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodHgpO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQXNzb2NpYXRlZFRva2VuQWNjb3VudEluaXRpYWxpemF0aW9uOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRUb2tlbkFzc29jaWF0ZUJ1aWxkZXIodHgpO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQWNjb3VudFVwZGF0ZTpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWNjb3VudFVwZGF0ZUJ1aWxkZXIodHgpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uICcgKyB0eC50eEJvZHkuZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXIgd2l0aCB0aGUgZ2l2ZW4gdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25CdWlsZGVyfSBidWlsZGVyIC0gdGhlIGJ1aWxkZXIgdG8gYmUgaW5pdGlhbGl6ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gdGhlIGJ1aWxkZXIgaW5pdGlhbGl6ZWRcbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uIHwgdW5kZWZpbmVkLCBidWlsZGVyOiBUKTogVCB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHRyYW5zYWN0aW9uIGluc3RhbmNlIGZyb20gdGhlIGVuY29kZWQgdmFsdWVcbiAgICpcbiAgICogQHBhcmFtIHtVaW50OEFycmF5IHwgc3RyaW5nfSByYXdUcmFuc2FjdGlvbiAtIGVuY29kZWQgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9ufSB0aGUgcGFyc2VkIHRyYW5zYWN0aW9uIGluc3RhbmNlXG4gICAqL1xuICBwcml2YXRlIHBhcnNlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IFVpbnQ4QXJyYXkgfCBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgdHguZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdGhlIHJhdyB0cmFuc2FjdGlvbiBoYXMgYSB2YWxpZCBmb3JtYXQgaW4gdGhlIGJsb2NrY2hhaW4gY29udGV4dCwgdGhyb3cgb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAcGFyYW0ge2FueX0gcmF3VHJhbnNhY3Rpb24gLSBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0XG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IFVpbnQ4QXJyYXkgfCBzdHJpbmcpIHtcbiAgICBpZiAoIWlzVmFsaWRSYXdUcmFuc2FjdGlvbkZvcm1hdChyYXdUcmFuc2FjdGlvbikpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
-
import
|
|
2
|
+
import { proto } from '@hashgraph/proto';
|
|
3
3
|
import { BaseKey } from '@bitgo-beta/sdk-core';
|
|
4
4
|
import { Recipient } from './iface';
|
|
5
5
|
import { TransactionBuilder } from './transactionBuilder';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,
|
|
1
|
+
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EACL,OAAO,EAKR,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,6BAA6B,CAAC;IACpE,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;gBAEvB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAO7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAK3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAQvD;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAahC,uBAAuB,IAAI,IAAI;CAOhC"}
|
|
@@ -1,26 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
3
|
exports.TransferBuilder = void 0;
|
|
23
|
-
const
|
|
4
|
+
const proto_1 = require("@hashgraph/proto");
|
|
24
5
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
25
6
|
const transactionBuilder_1 = require("./transactionBuilder");
|
|
26
7
|
const utils_1 = require("./utils");
|
|
@@ -28,7 +9,7 @@ const constants_1 = require("./constants");
|
|
|
28
9
|
class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
29
10
|
constructor(_coinConfig) {
|
|
30
11
|
super(_coinConfig);
|
|
31
|
-
this._txBodyData = new proto.CryptoTransferTransactionBody();
|
|
12
|
+
this._txBodyData = new proto_1.proto.CryptoTransferTransactionBody();
|
|
32
13
|
this._txBody.cryptoTransfer = this._txBodyData;
|
|
33
14
|
this._recipients = [];
|
|
34
15
|
}
|
|
@@ -52,10 +33,10 @@ class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
|
52
33
|
* @returns {TransferBuilder} - The builder with the new parameter set
|
|
53
34
|
*/
|
|
54
35
|
send(recipient) {
|
|
55
|
-
if (!utils_1.isValidAddress(recipient.address)) {
|
|
36
|
+
if (!(0, utils_1.isValidAddress)(recipient.address)) {
|
|
56
37
|
throw new sdk_core_1.InvalidParameterValueError('Invalid address');
|
|
57
38
|
}
|
|
58
|
-
if (!utils_1.isValidAmount(recipient.amount)) {
|
|
39
|
+
if (!(0, utils_1.isValidAmount)(recipient.amount)) {
|
|
59
40
|
throw new sdk_core_1.InvalidParameterValueError('Invalid amount');
|
|
60
41
|
}
|
|
61
42
|
this._recipients.push(recipient);
|
|
@@ -71,4 +52,4 @@ class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
|
71
52
|
}
|
|
72
53
|
}
|
|
73
54
|
exports.TransferBuilder = TransferBuilder;
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNENBQXlDO0FBQ3pDLG1EQU04QjtBQUU5Qiw2REFBMEQ7QUFFMUQsbUNBQXdEO0FBQ3hELDJDQUFvRDtBQUVwRCxNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBSXJELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxhQUFLLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRCxPQUFPLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLEdBQVk7UUFDdkMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxJQUFJLGlDQUFxQixFQUFFLENBQUM7WUFDOUQsTUFBTSxJQUFJLHVCQUFZLENBQUMsZUFBZSxHQUFHLGlDQUFxQixHQUFHLDRCQUE0QixDQUFDLENBQUM7UUFDakcsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCx5QkFBeUI7SUFDekI7Ozs7O09BS0c7SUFDSCxJQUFJLENBQUMsU0FBb0I7UUFDdkIsSUFBSSxDQUFDLElBQUEsc0JBQWMsRUFBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUkscUNBQTBCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUEscUJBQWEsRUFBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUkscUNBQTBCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsWUFBWTtJQUVaLG9CQUFvQjtJQUNwQix1QkFBdUI7UUFDckIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksZ0NBQXFCLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBQ0QsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDbEMsQ0FBQztDQUVGO0FBcERELDBDQW9EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IHByb3RvIH0gZnJvbSAnQGhhc2hncmFwaC9wcm90byc7XG5pbXBvcnQge1xuICBCYXNlS2V5LFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yLFxuICBTaWduaW5nRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgUmVjaXBpZW50IH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgaXNWYWxpZEFkZHJlc3MsIGlzVmFsaWRBbW91bnQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IERFRkFVTFRfU0lHTkVSX05VTUJFUiB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfdHhCb2R5RGF0YTogcHJvdG8uQ3J5cHRvVHJhbnNmZXJUcmFuc2FjdGlvbkJvZHk7XG4gIHByb3RlY3RlZCBfcmVjaXBpZW50czogUmVjaXBpZW50W107XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3R4Qm9keURhdGEgPSBuZXcgcHJvdG8uQ3J5cHRvVHJhbnNmZXJUcmFuc2FjdGlvbkJvZHkoKTtcbiAgICB0aGlzLl90eEJvZHkuY3J5cHRvVHJhbnNmZXIgPSB0aGlzLl90eEJvZHlEYXRhO1xuICAgIHRoaXMuX3JlY2lwaWVudHMgPSBbXTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLlNlbmQpO1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBUcmFuc2FjdGlvbiB7XG4gICAgaWYgKHRoaXMuX211bHRpU2lnbmVyS2V5UGFpcnMubGVuZ3RoID49IERFRkFVTFRfU0lHTkVSX05VTUJFUikge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignQSBtYXhpbXVtIG9mICcgKyBERUZBVUxUX1NJR05FUl9OVU1CRVIgKyAnIGNhbiBzaWduIHRoZSB0cmFuc2FjdGlvbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLnNpZ25JbXBsZW1lbnRhdGlvbihrZXkpO1xuICB9XG5cbiAgLy8gcmVnaW9uIFRyYW5zZmVyIGZpZWxkc1xuICAvKipcbiAgICogU2V0IHRoZSByZWNpcGllbnQgdG8gYmUgdHJhbnNmZXJyZWRcbiAgICpcbiAgICogQHBhcmFtIHtSZWNpcGllbnR9IHJlY2lwaWVudCAtIHJlY2lwaWVudCB0byB0cmFuc2ZlciBjb25zaXN0aW5nIGRlc3RpbmF0aW9uIGFkZHJlc3MgYW5kIGFtb3VudFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSAtIFRoZSBidWlsZGVyIHdpdGggdGhlIG5ldyBwYXJhbWV0ZXIgc2V0XG4gICAqL1xuICBzZW5kKHJlY2lwaWVudDogUmVjaXBpZW50KTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkQWRkcmVzcyhyZWNpcGllbnQuYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhZGRyZXNzJyk7XG4gICAgfVxuICAgIGlmICghaXNWYWxpZEFtb3VudChyZWNpcGllbnQuYW1vdW50KSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFtb3VudCcpO1xuICAgIH1cbiAgICB0aGlzLl9yZWNpcGllbnRzLnB1c2gocmVjaXBpZW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gVmFsaWRhdG9yc1xuICB2YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmVjaXBpZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgcmVjaXBpZW50cycpO1xuICAgIH1cbiAgICBzdXBlci52YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpO1xuICB9XG4gIC8vIGVuZHJlZ2lvblxufVxuIl19
|
package/dist/src/lib/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PrivateKey } from '@hashgraph/sdk';
|
|
2
|
-
import
|
|
2
|
+
import { proto } from '@hashgraph/proto';
|
|
3
3
|
import { AddressDetails } from './iface';
|
|
4
4
|
import { toHex, toUint8Array } from '@bitgo-beta/sdk-core';
|
|
5
5
|
import { BaseCoin } from '@bitgo-beta/statics';
|
|
@@ -190,4 +190,21 @@ export declare function getHederaTokenNameFromId(tokenId: string): Readonly<Base
|
|
|
190
190
|
* @returns {boolean} true is input is a valid token transfer transaction
|
|
191
191
|
*/
|
|
192
192
|
export declare function isTokenTransfer(transferTxBody: proto.ICryptoTransferTransactionBody | null): boolean;
|
|
193
|
+
/** validates a startTime string to be a valid timestamp and in the future
|
|
194
|
+
* @param {string} startTime - The startTime to be validated
|
|
195
|
+
* @throws {Error} - if startTime is not a valid timestamp or is in the past
|
|
196
|
+
* @returns {void}
|
|
197
|
+
* */
|
|
198
|
+
export declare function validateStartTime(startTime: string): void;
|
|
199
|
+
export declare function normalizeStarttime(startTime: string): string;
|
|
200
|
+
/**
|
|
201
|
+
* Await for a given amount of time in milliseconds
|
|
202
|
+
* @param ms - The amount of time to wait in milliseconds
|
|
203
|
+
* @returns {Promise<void>} - A promise that resolves after the given amount of time
|
|
204
|
+
*/
|
|
205
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
206
|
+
/**
|
|
207
|
+
* Check if the startTime is within the broadcast window (5 seconds after and 175 seconds after the startTime)
|
|
208
|
+
*/
|
|
209
|
+
export declare function shouldBroadcastNow(startTime: string): boolean;
|
|
193
210
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,UAAU,EAAqC,MAAM,gBAAgB,CAAC;AAC1F,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
|