@bitgo-beta/sdk-coin-apt 1.0.1-beta.102 → 1.0.1-beta.104
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/lib/constants.d.ts +2 -0
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +4 -2
- package/dist/src/lib/transaction/transaction.d.ts +5 -3
- package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/transaction.js +28 -58
- package/dist/src/lib/transaction/transferTransaction.d.ts +5 -3
- package/dist/src/lib/transaction/transferTransaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/transferTransaction.js +63 -28
- package/dist/src/lib/transactionBuilder.d.ts +0 -4
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +1 -13
- package/dist/src/lib/transactionBuilderFactory.d.ts +3 -1
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +14 -6
- package/dist/src/lib/transferBuilder.d.ts +5 -0
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +13 -1
- package/dist/src/lib/utils.d.ts +2 -1
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +16 -1
- package/package.json +6 -6
|
@@ -5,4 +5,6 @@ export declare const APT_SIGNATURE_LENGTH = 128;
|
|
|
5
5
|
export declare const UNAVAILABLE_TEXT = "UNAVAILABLE";
|
|
6
6
|
export declare const DEFAULT_GAS_UNIT_PRICE = 100;
|
|
7
7
|
export declare const SECONDS_PER_WEEK: number;
|
|
8
|
+
export declare const APTOS_ACCOUNT_MODULE = "aptos_account";
|
|
9
|
+
export declare const FUNGIBLE_ASSET_MODULE = "fungible_asset";
|
|
8
10
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,gBAAgB,QAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,gBAAgB,QAAmB,CAAC;AAEjD,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AACpD,eAAO,MAAM,qBAAqB,mBAAmB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SECONDS_PER_WEEK = exports.DEFAULT_GAS_UNIT_PRICE = exports.UNAVAILABLE_TEXT = exports.APT_SIGNATURE_LENGTH = exports.APT_BLOCK_ID_LENGTH = exports.APT_TRANSACTION_ID_LENGTH = exports.APT_ADDRESS_LENGTH = void 0;
|
|
3
|
+
exports.FUNGIBLE_ASSET_MODULE = exports.APTOS_ACCOUNT_MODULE = exports.SECONDS_PER_WEEK = exports.DEFAULT_GAS_UNIT_PRICE = exports.UNAVAILABLE_TEXT = exports.APT_SIGNATURE_LENGTH = exports.APT_BLOCK_ID_LENGTH = exports.APT_TRANSACTION_ID_LENGTH = exports.APT_ADDRESS_LENGTH = void 0;
|
|
4
4
|
exports.APT_ADDRESS_LENGTH = 64;
|
|
5
5
|
exports.APT_TRANSACTION_ID_LENGTH = 64;
|
|
6
6
|
exports.APT_BLOCK_ID_LENGTH = 64;
|
|
@@ -8,4 +8,6 @@ exports.APT_SIGNATURE_LENGTH = 128;
|
|
|
8
8
|
exports.UNAVAILABLE_TEXT = 'UNAVAILABLE';
|
|
9
9
|
exports.DEFAULT_GAS_UNIT_PRICE = 100;
|
|
10
10
|
exports.SECONDS_PER_WEEK = 7 * 24 * 60 * 60; // Days * Hours * Minutes * Seconds
|
|
11
|
-
|
|
11
|
+
exports.APTOS_ACCOUNT_MODULE = 'aptos_account';
|
|
12
|
+
exports.FUNGIBLE_ASSET_MODULE = 'fungible_asset';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7QUFDeEIsUUFBQSx5QkFBeUIsR0FBRyxFQUFFLENBQUM7QUFDL0IsUUFBQSxtQkFBbUIsR0FBRyxFQUFFLENBQUM7QUFDekIsUUFBQSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFDM0IsUUFBQSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFDakMsUUFBQSxzQkFBc0IsR0FBRyxHQUFHLENBQUM7QUFDN0IsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxtQ0FBbUM7QUFFeEUsUUFBQSxvQkFBb0IsR0FBRyxlQUFlLENBQUM7QUFDdkMsUUFBQSxxQkFBcUIsR0FBRyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBUFRfQUREUkVTU19MRU5HVEggPSA2NDtcbmV4cG9ydCBjb25zdCBBUFRfVFJBTlNBQ1RJT05fSURfTEVOR1RIID0gNjQ7XG5leHBvcnQgY29uc3QgQVBUX0JMT0NLX0lEX0xFTkdUSCA9IDY0O1xuZXhwb3J0IGNvbnN0IEFQVF9TSUdOQVRVUkVfTEVOR1RIID0gMTI4O1xuZXhwb3J0IGNvbnN0IFVOQVZBSUxBQkxFX1RFWFQgPSAnVU5BVkFJTEFCTEUnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfR0FTX1VOSVRfUFJJQ0UgPSAxMDA7XG5leHBvcnQgY29uc3QgU0VDT05EU19QRVJfV0VFSyA9IDcgKiAyNCAqIDYwICogNjA7IC8vIERheXMgKiBIb3VycyAqIE1pbnV0ZXMgKiBTZWNvbmRzXG5cbmV4cG9ydCBjb25zdCBBUFRPU19BQ0NPVU5UX01PRFVMRSA9ICdhcHRvc19hY2NvdW50JztcbmV4cG9ydCBjb25zdCBGVU5HSUJMRV9BU1NFVF9NT0RVTEUgPSAnZnVuZ2libGVfYXNzZXQnO1xuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BaseKey, BaseTransaction, PublicKey, Signature, TransactionRecipient, TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
2
|
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
3
|
import { RawTransaction, SignedTransaction } from '@aptos-labs/ts-sdk';
|
|
4
|
+
import { AptTransactionExplanation } from '../iface';
|
|
4
5
|
export declare abstract class Transaction extends BaseTransaction {
|
|
5
6
|
protected _rawTransaction: RawTransaction;
|
|
6
7
|
protected _senderSignature: Signature;
|
|
@@ -43,17 +44,18 @@ export declare abstract class Transaction extends BaseTransaction {
|
|
|
43
44
|
addFeePayerAddress(address: string): void;
|
|
44
45
|
build(): Promise<void>;
|
|
45
46
|
loadInputsAndOutputs(): void;
|
|
46
|
-
fromRawTransaction(rawTransaction: string): void;
|
|
47
|
-
fromDeserializedSignedTransaction(signedTxn: SignedTransaction): void;
|
|
47
|
+
abstract fromRawTransaction(rawTransaction: string): void;
|
|
48
48
|
/**
|
|
49
49
|
* Deserializes a signed transaction hex string
|
|
50
50
|
* @param {string} signedRawTransaction
|
|
51
51
|
* @returns {SignedTransaction} the aptos signed transaction
|
|
52
52
|
*/
|
|
53
53
|
static deserializeSignedTransaction(signedRawTransaction: string): SignedTransaction;
|
|
54
|
-
protected buildRawTransaction():
|
|
54
|
+
protected abstract buildRawTransaction(): void;
|
|
55
55
|
getFee(): string;
|
|
56
56
|
get signablePayload(): Buffer;
|
|
57
|
+
/** @inheritDoc */
|
|
58
|
+
explainTransaction(): AptTransactionExplanation;
|
|
57
59
|
private getSignablePayloadWithFeePayer;
|
|
58
60
|
private getSignablePayloadWithoutFeePayer;
|
|
59
61
|
private generateTxnId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAEf,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Transaction = void 0;
|
|
7
7
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
|
-
const statics_1 = require("@bitgo-beta/statics");
|
|
9
8
|
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
|
|
10
9
|
const constants_1 = require("../constants");
|
|
11
10
|
const utils_1 = __importDefault(require("../utils"));
|
|
@@ -145,42 +144,6 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
145
144
|
},
|
|
146
145
|
];
|
|
147
146
|
}
|
|
148
|
-
fromRawTransaction(rawTransaction) {
|
|
149
|
-
let signedTxn;
|
|
150
|
-
try {
|
|
151
|
-
signedTxn = utils_1.default.deserializeSignedTransaction(rawTransaction);
|
|
152
|
-
}
|
|
153
|
-
catch (e) {
|
|
154
|
-
console.error('invalid raw transaction', e);
|
|
155
|
-
throw new Error('invalid raw transaction');
|
|
156
|
-
}
|
|
157
|
-
this.fromDeserializedSignedTransaction(signedTxn);
|
|
158
|
-
}
|
|
159
|
-
fromDeserializedSignedTransaction(signedTxn) {
|
|
160
|
-
try {
|
|
161
|
-
const rawTxn = signedTxn.raw_txn;
|
|
162
|
-
this._sender = rawTxn.sender.toString();
|
|
163
|
-
this._recipient = utils_1.default.getRecipientFromTransactionPayload(rawTxn.payload);
|
|
164
|
-
this._sequenceNumber = utils_1.default.castToNumber(rawTxn.sequence_number);
|
|
165
|
-
this._maxGasAmount = utils_1.default.castToNumber(rawTxn.max_gas_amount);
|
|
166
|
-
this._gasUnitPrice = utils_1.default.castToNumber(rawTxn.gas_unit_price);
|
|
167
|
-
this._expirationTime = utils_1.default.castToNumber(rawTxn.expiration_timestamp_secs);
|
|
168
|
-
this._rawTransaction = rawTxn;
|
|
169
|
-
this.loadInputsAndOutputs();
|
|
170
|
-
const authenticator = signedTxn.authenticator;
|
|
171
|
-
this._feePayerAddress = authenticator.fee_payer.address.toString();
|
|
172
|
-
const senderAuthenticator = authenticator.sender;
|
|
173
|
-
const senderSignature = Buffer.from(senderAuthenticator.signature.toUint8Array());
|
|
174
|
-
this.addSenderSignature({ pub: senderAuthenticator.public_key.toString() }, senderSignature);
|
|
175
|
-
const feePayerAuthenticator = authenticator.fee_payer.authenticator;
|
|
176
|
-
const feePayerSignature = Buffer.from(feePayerAuthenticator.signature.toUint8Array());
|
|
177
|
-
this.addFeePayerSignature({ pub: feePayerAuthenticator.public_key.toString() }, feePayerSignature);
|
|
178
|
-
}
|
|
179
|
-
catch (e) {
|
|
180
|
-
console.error('invalid signed transaction', e);
|
|
181
|
-
throw new Error('invalid signed transaction');
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
147
|
/**
|
|
185
148
|
* Deserializes a signed transaction hex string
|
|
186
149
|
* @param {string} signedRawTransaction
|
|
@@ -195,32 +158,39 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
195
158
|
throw new Error('invalid raw transaction');
|
|
196
159
|
}
|
|
197
160
|
}
|
|
198
|
-
async buildRawTransaction() {
|
|
199
|
-
const network = this._coinConfig.network.type === statics_1.NetworkType.MAINNET ? ts_sdk_1.Network.MAINNET : ts_sdk_1.Network.TESTNET;
|
|
200
|
-
const aptos = new ts_sdk_1.Aptos(new ts_sdk_1.AptosConfig({ network }));
|
|
201
|
-
const senderAddress = ts_sdk_1.AccountAddress.fromString(this._sender);
|
|
202
|
-
const recipientAddress = ts_sdk_1.AccountAddress.fromString(this._recipient.address);
|
|
203
|
-
const simpleTxn = await aptos.transaction.build.simple({
|
|
204
|
-
sender: senderAddress,
|
|
205
|
-
data: {
|
|
206
|
-
function: '0x1::aptos_account::transfer',
|
|
207
|
-
functionArguments: [recipientAddress, this.recipient.amount],
|
|
208
|
-
},
|
|
209
|
-
options: {
|
|
210
|
-
maxGasAmount: this.maxGasAmount,
|
|
211
|
-
gasUnitPrice: this.gasUnitPrice,
|
|
212
|
-
expireTimestamp: this.expirationTime,
|
|
213
|
-
accountSequenceNumber: this.sequenceNumber,
|
|
214
|
-
},
|
|
215
|
-
});
|
|
216
|
-
this._rawTransaction = simpleTxn.rawTransaction;
|
|
217
|
-
}
|
|
218
161
|
getFee() {
|
|
219
162
|
return new bignumber_js_1.default(this.gasUsed).multipliedBy(this.gasUnitPrice).toString();
|
|
220
163
|
}
|
|
221
164
|
get signablePayload() {
|
|
222
165
|
return this.feePayerAddress ? this.getSignablePayloadWithFeePayer() : this.getSignablePayloadWithoutFeePayer();
|
|
223
166
|
}
|
|
167
|
+
/** @inheritDoc */
|
|
168
|
+
explainTransaction() {
|
|
169
|
+
const displayOrder = [
|
|
170
|
+
'id',
|
|
171
|
+
'outputs',
|
|
172
|
+
'outputAmount',
|
|
173
|
+
'changeOutputs',
|
|
174
|
+
'changeAmount',
|
|
175
|
+
'fee',
|
|
176
|
+
'withdrawAmount',
|
|
177
|
+
'sender',
|
|
178
|
+
'type',
|
|
179
|
+
];
|
|
180
|
+
const outputs = [this.recipient];
|
|
181
|
+
const outputAmount = outputs[0].amount;
|
|
182
|
+
return {
|
|
183
|
+
displayOrder,
|
|
184
|
+
id: this.id,
|
|
185
|
+
outputs,
|
|
186
|
+
outputAmount,
|
|
187
|
+
changeOutputs: [],
|
|
188
|
+
changeAmount: '0',
|
|
189
|
+
fee: { fee: this.getFee() },
|
|
190
|
+
sender: this.sender,
|
|
191
|
+
type: this.type,
|
|
192
|
+
};
|
|
193
|
+
}
|
|
224
194
|
getSignablePayloadWithFeePayer() {
|
|
225
195
|
const feePayerRawTxn = new ts_sdk_1.FeePayerRawTransaction(this._rawTransaction, [], ts_sdk_1.AccountAddress.fromString(this._feePayerAddress));
|
|
226
196
|
return Buffer.from((0, ts_sdk_1.generateSigningMessage)(feePayerRawTxn.bcsToBytes(), ts_sdk_1.RAW_TRANSACTION_WITH_DATA_SALT));
|
|
@@ -250,4 +220,4 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
250
220
|
exports.Transaction = Transaction;
|
|
251
221
|
Transaction.EMPTY_PUBLIC_KEY = Buffer.alloc(32);
|
|
252
222
|
Transaction.EMPTY_SIGNATURE = Buffer.alloc(64);
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQVE4QjtBQUM5QixpREFBMEU7QUFDMUUsK0NBbUI0QjtBQUM1Qiw0Q0FBMEY7QUFDMUYscURBQTZCO0FBQzdCLGdFQUFxQztBQUVyQyxNQUFzQixXQUFZLFNBQVEsMEJBQWU7SUFnQnZELFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsK0JBQXNCLENBQUM7UUFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxrQ0FBc0IsQ0FBQztRQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFHLDRCQUFnQixDQUFDO1FBQ3ZFLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsdUJBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHO1lBQ3RCLFNBQVMsRUFBRTtnQkFDVCxHQUFHLEVBQUUsWUFBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLEVBQUU7YUFDL0Q7WUFDRCxTQUFTLEVBQUUsV0FBVyxDQUFDLGVBQWU7U0FDdkMsQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyx1QkFBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsa0JBQWtCLEdBQUc7WUFDeEIsU0FBUyxFQUFFO2dCQUNULEdBQUcsRUFBRSxZQUFHLENB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QkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwSCxNQUFNLGlCQUFpQixHQUFHLElBQUkseUJBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxvQ0FBMkIsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBQSxvQ0FBMkIsRUFBQyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDdEcsQ0FBQzs7QUF4U0gsa0NBeVNDO0FBNVJRLDRCQUFnQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDcEMsMkJBQWUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgUHVibGljS2V5LFxuICBTaWduYXR1cmUsXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50LFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcsIE5ldHdvcmtUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBBY2NvdW50QWRkcmVzcyxcbiAgQWNjb3VudEF1dGhlbnRpY2F0b3JFZDI1NTE5LFxuICBBcHRvcyxcbiAgQXB0b3NDb25maWcsXG4gIERFRkFVTFRfTUFYX0dBU19BTU9VTlQsXG4gIEVkMjU1MTlQdWJsaWNLZXksXG4gIEVkMjU1MTlTaWduYXR1cmUsXG4gIEZlZVBheWVyUmF3VHJhbnNhY3Rpb24sXG4gIGdlbmVyYXRlU2lnbmluZ01lc3NhZ2UsXG4gIGdlbmVyYXRlVXNlclRyYW5zYWN0aW9uSGFzaCxcbiAgSGV4LFxuICBOZXR3b3JrLFxuICBSQVdfVFJBTlNBQ1RJT05fU0FMVCxcbiAgUkFXX1RSQU5TQUNUSU9OX1dJVEhfREFUQV9TQUxULFxuICBSYXdUcmFuc2FjdGlvbixcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFNpbXBsZVRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvbkF1dGhlbnRpY2F0b3JGZWVQYXllcixcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7IERFRkFVTFRfR0FTX1VOSVRfUFJJQ0UsIFNFQ09ORFNfUEVSX1dFRUssIFVOQVZBSUxBQkxFX1RFWFQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uIHtcbiAgcHJvdGVjdGVkIF9yYXdUcmFuc2FjdGlvbjogUmF3VHJhbnNhY3Rpb247XG4gIHByb3RlY3RlZCBfc2VuZGVyU2lnbmF0dXJlOiBTaWduYXR1cmU7XG4gIHByb3RlY3RlZCBfZmVlUGF5ZXJTaWduYXR1cmU6IFNpZ25hdHVyZTtcbiAgcHJvdGVjdGVkIF9zZW5kZXI6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9yZWNpcGllbnQ6IFRyYW5zYWN0aW9uUmVjaXBpZW50O1xuICBwcm90ZWN0ZWQgX3NlcXVlbmNlTnVtYmVyOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfbWF4R2FzQW1vdW50OiBudW1iZXI7XG4gIHByb3RlY3RlZCBfZ2FzVW5pdFByaWNlOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfZ2FzVXNlZDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2V4cGlyYXRpb25UaW1lOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfZmVlUGF5ZXJBZGRyZXNzOiBzdHJpbmc7XG5cbiAgc3RhdGljIEVNUFRZX1BVQkxJQ19LRVkgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICBzdGF0aWMgRU1QVFlfU0lHTkFUVVJFID0gQnVmZmVyLmFsbG9jKDY0KTtcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICAgIHRoaXMuX21heEdhc0Ftb3VudCA9IERFRkFVTFRfTUFYX0dBU19BTU9VTlQ7XG4gICAgdGhpcy5fZ2FzVW5pdFByaWNlID0gREVGQVVMVF9HQVNfVU5JVF9QUklDRTtcbiAgICB0aGlzLl9nYXNVc2VkID0gMDtcbiAgICB0aGlzLl9leHBpcmF0aW9uVGltZSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDFlMykgKyBTRUNPTkRTX1BFUl9XRUVLO1xuICAgIHRoaXMuX3NlcXVlbmNlTnVtYmVyID0gMDtcbiAgICB0aGlzLl9zZW5kZXIgPSBBY2NvdW50QWRkcmVzcy5aRVJPLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5fc2VuZGVyU2lnbmF0dXJlID0ge1xuICAgICAgcHVibGljS2V5OiB7XG4gICAgICAgIHB1YjogSGV4LmZyb21IZXhJbnB1dChUcmFuc2FjdGlvbi5FTVBUWV9QVUJMSUNfS0VZKS50b1N0cmluZygpLFxuICAgICAgfSxcbiAgICAgIHNpZ25hdHVyZTogVHJhbnNhY3Rpb24uRU1QVFlfU0lHTkFUVVJFLFxuICAgIH07XG4gICAgdGhpcy5fZmVlUGF5ZXJBZGRyZXNzID0gQWNjb3VudEFkZHJlc3MuWkVSTy50b1N0cmluZygpO1xuICAgIHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlID0ge1xuICAgICAgcHVibGljS2V5OiB7XG4gICAgICAgIHB1YjogSGV4LmZyb21IZXhJbnB1dChUcmFuc2FjdGlvbi5FTVBUWV9QVUJMSUNfS0VZKS50b1N0cmluZygpLFxuICAgICAgfSxcbiAgICAgIHNpZ25hdHVyZTogVHJhbnNhY3Rpb24uRU1QVFlfU0lHTkFUVVJFLFxuICAgIH07XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICB0aGlzLmdlbmVyYXRlVHhuSWQoKTtcbiAgICByZXR1cm4gdGhpcy5faWQgPz8gVU5BVkFJTEFCTEVfVEVYVDtcbiAgfVxuXG4gIGdldCBzZW5kZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZGVyO1xuICB9XG5cbiAgc2V0IHNlbmRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2VuZGVyID0gdmFsdWU7XG4gIH1cblxuICBnZXQgcmVjaXBpZW50KCk6IFRyYW5zYWN0aW9uUmVjaXBpZW50IHtcbiAgICByZXR1cm4gdGhpcy5fcmVjaXBpZW50O1xuICB9XG5cbiAgc2V0IHJlY2lwaWVudCh2YWx1ZTogVHJhbnNhY3Rpb25SZWNpcGllbnQpIHtcbiAgICB0aGlzLl9yZWNpcGllbnQgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBzZXF1ZW5jZU51bWJlcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZXF1ZW5jZU51bWJlcjtcbiAgfVxuXG4gIHNldCBzZXF1ZW5jZU51bWJlcih2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fc2VxdWVuY2VOdW1iZXIgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBtYXhHYXNBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4R2FzQW1vdW50O1xuICB9XG5cbiAgc2V0IG1heEdhc0Ftb3VudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWF4R2FzQW1vdW50ID0gdmFsdWU7XG4gIH1cblxuICBnZXQgZ2FzVW5pdFByaWNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2dhc1VuaXRQcmljZTtcbiAgfVxuXG4gIHNldCBnYXNVbml0UHJpY2UodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2dhc1VuaXRQcmljZSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGdhc1VzZWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZ2FzVXNlZDtcbiAgfVxuXG4gIHNldCBnYXNVc2VkKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9nYXNVc2VkID0gdmFsdWU7XG4gIH1cblxuICBnZXQgZXhwaXJhdGlvblRpbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZXhwaXJhdGlvblRpbWU7XG4gIH1cblxuICBzZXQgZXhwaXJhdGlvblRpbWUodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lID0gdmFsdWU7XG4gIH1cblxuICBnZXQgZmVlUGF5ZXJBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlZVBheWVyQWRkcmVzcztcbiAgfVxuXG4gIHNldCB0cmFuc2FjdGlvblR5cGUodHJhbnNhY3Rpb25UeXBlOiBUcmFuc2FjdGlvblR5cGUpIHtcbiAgICB0aGlzLl90eXBlID0gdHJhbnNhY3Rpb25UeXBlO1xuICB9XG5cbiAgY2FuU2lnbihfa2V5OiBCYXNlS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdG9Ccm9hZGNhc3RGb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX3Jhd1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZSgpO1xuICB9XG5cbiAgc2VyaWFsaXplKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VuZGVyUHVibGljS2V5QnVmZmVyID0gdXRpbHMuZ2V0QnVmZmVyRnJvbUhleFN0cmluZyh0aGlzLl9zZW5kZXJTaWduYXR1cmUucHVibGljS2V5LnB1Yik7XG4gICAgY29uc3Qgc2VuZGVyUHVibGljS2V5ID0gbmV3IEVkMjU1MTlQdWJsaWNLZXkoc2VuZGVyUHVibGljS2V5QnVmZmVyKTtcblxuICAgIGNvbnN0IHNlbmRlclNpZ25hdHVyZSA9IG5ldyBFZDI1NTE5U2lnbmF0dXJlKHRoaXMuX3NlbmRlclNpZ25hdHVyZS5zaWduYXR1cmUpO1xuICAgIGNvbnN0IHNlbmRlckF1dGhlbnRpY2F0b3IgPSBuZXcgQWNjb3VudEF1dGhlbnRpY2F0b3JFZDI1NTE5KHNlbmRlclB1YmxpY0tleSwgc2VuZGVyU2lnbmF0dXJlKTtcblxuICAgIGNvbnN0IGZlZVBheWVyUHVibGljS2V5QnVmZmVyID0gdXRpbHMuZ2V0QnVmZmVyRnJvbUhleFN0cmluZyh0aGlzLl9mZWVQYXllclNpZ25hdHVyZS5wdWJsaWNLZXkucHViKTtcbiAgICBjb25zdCBmZWVQYXllclB1YmxpY0tleSA9IG5ldyBFZDI1NTE5UHVibGljS2V5KGZlZVBheWVyUHVibGljS2V5QnVmZmVyKTtcblxuICAgIGNvbnN0IGZlZVBheWVyU2lnbmF0dXJlID0gbmV3IEVkMjU1MTlTaWduYXR1cmUodGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUuc2lnbmF0dXJlKTtcbiAgICBjb25zdCBmZWVQYXllckF1dGhlbnRpY2F0b3IgPSBuZXcgQWNjb3VudEF1dGhlbnRpY2F0b3JFZDI1NTE5KGZlZVBheWVyUHVibGljS2V5LCBmZWVQYXllclNpZ25hdHVyZSk7XG5cbiAgICBjb25zdCB0eG5BdXRoZW50aWNhdG9yID0gbmV3IFRyYW5zYWN0aW9uQXV0aGVudGljYXRvckZlZVBheWVyKHNlbmRlckF1dGhlbnRpY2F0b3IsIFtdLCBbXSwge1xuICAgICAgYWRkcmVzczogQWNjb3VudEFkZHJlc3MuZnJvbVN0cmluZyh0aGlzLl9mZWVQYXllckFkZHJlc3MpLFxuICAgICAgYXV0aGVudGljYXRvcjogZmVlUGF5ZXJBdXRoZW50aWNhdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2lnbmVkVHhuID0gbmV3IFNpZ25lZFRyYW5zYWN0aW9uKHRoaXMuX3Jhd1RyYW5zYWN0aW9uLCB0eG5BdXRoZW50aWNhdG9yKTtcbiAgICByZXR1cm4gc2lnbmVkVHhuLnRvU3RyaW5nKCk7XG4gIH1cblxuICBhZGRTZW5kZXJTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhpcy5fc2lnbmF0dXJlcyA9IFtzaWduYXR1cmUudG9TdHJpbmcoJ2hleCcpXTtcbiAgICB0aGlzLl9zZW5kZXJTaWduYXR1cmUgPSB7IHB1YmxpY0tleSwgc2lnbmF0dXJlIH07XG4gIH1cblxuICBnZXRGZWVQYXllclB1YktleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mZWVQYXllclNpZ25hdHVyZS5wdWJsaWNLZXkucHViO1xuICB9XG5cbiAgYWRkRmVlUGF5ZXJTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUgPSB7IHB1YmxpY0tleSwgc2lnbmF0dXJlIH07XG4gIH1cblxuICBhZGRGZWVQYXllckFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fZmVlUGF5ZXJBZGRyZXNzID0gYWRkcmVzcztcbiAgfVxuXG4gIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuYnVpbGRSYXdUcmFuc2FjdGlvbigpO1xuICAgIHRoaXMuZ2VuZXJhdGVUeG5JZCgpO1xuICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgfVxuXG4gIGxvYWRJbnB1dHNBbmRPdXRwdXRzKCk6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0cyA9IFtcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzczogdGhpcy5zZW5kZXIsXG4gICAgICAgIHZhbHVlOiB0aGlzLnJlY2lwaWVudC5hbW91bnQgYXMgc3RyaW5nLFxuICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICB9LFxuICAgIF07XG4gICAgdGhpcy5fb3V0cHV0cyA9IFtcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzczogdGhpcy5yZWNpcGllbnQuYWRkcmVzcyxcbiAgICAgICAgdmFsdWU6IHRoaXMucmVjaXBpZW50LmFtb3VudCBhcyBzdHJpbmcsXG4gICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIGZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHNpZ25lZFR4bjogU2lnbmVkVHJhbnNhY3Rpb247XG4gICAgdHJ5IHtcbiAgICAgIHNpZ25lZFR4biA9IHV0aWxzLmRlc2VyaWFsaXplU2lnbmVkVHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJywgZSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHRoaXMuZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4bik7XG4gIH1cblxuICBmcm9tRGVzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkVHhuOiBTaWduZWRUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByYXdUeG4gPSBzaWduZWRUeG4ucmF3X3R4bjtcbiAgICAgIHRoaXMuX3NlbmRlciA9IHJhd1R4bi5zZW5kZXIudG9TdHJpbmcoKTtcbiAgICAgIHRoaXMuX3JlY2lwaWVudCA9IHV0aWxzLmdldFJlY2lwaWVudEZyb21UcmFuc2FjdGlvblBheWxvYWQocmF3VHhuLnBheWxvYWQpO1xuICAgICAgdGhpcy5fc2VxdWVuY2VOdW1iZXIgPSB1dGlscy5jYXN0VG9OdW1iZXIocmF3VHhuLnNlcXVlbmNlX251bWJlcik7XG4gICAgICB0aGlzLl9tYXhHYXNBbW91bnQgPSB1dGlscy5jYXN0VG9OdW1iZXIocmF3VHhuLm1heF9nYXNfYW1vdW50KTtcbiAgICAgIHRoaXMuX2dhc1VuaXRQcmljZSA9IHV0aWxzLmNhc3RUb051bWJlcihyYXdUeG4uZ2FzX3VuaXRfcHJpY2UpO1xuICAgICAgdGhpcy5fZXhwaXJhdGlvblRpbWUgPSB1dGlscy5jYXN0VG9OdW1iZXIocmF3VHhuLmV4cGlyYXRpb25fdGltZXN0YW1wX3NlY3MpO1xuICAgICAgdGhpcy5fcmF3VHJhbnNhY3Rpb24gPSByYXdUeG47XG5cbiAgICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgICAgIGNvbnN0IGF1dGhlbnRpY2F0b3IgPSBzaWduZWRUeG4uYXV0aGVudGljYXRvciBhcyBUcmFuc2FjdGlvbkF1dGhlbnRpY2F0b3JGZWVQYXllcjtcbiAgICAgIHRoaXMuX2ZlZVBheWVyQWRkcmVzcyA9IGF1dGhlbnRpY2F0b3IuZmVlX3BheWVyLmFkZHJlc3MudG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IHNlbmRlckF1dGhlbnRpY2F0b3IgPSBhdXRoZW50aWNhdG9yLnNlbmRlciBhcyBBY2NvdW50QXV0aGVudGljYXRvckVkMjU1MTk7XG4gICAgICBjb25zdCBzZW5kZXJTaWduYXR1cmUgPSBCdWZmZXIuZnJvbShzZW5kZXJBdXRoZW50aWNhdG9yLnNpZ25hdHVyZS50b1VpbnQ4QXJyYXkoKSk7XG4gICAgICB0aGlzLmFkZFNlbmRlclNpZ25hdHVyZSh7IHB1Yjogc2VuZGVyQXV0aGVudGljYXRvci5wdWJsaWNfa2V5LnRvU3RyaW5nKCkgfSwgc2VuZGVyU2lnbmF0dXJlKTtcblxuICAgICAgY29uc3QgZmVlUGF5ZXJBdXRoZW50aWNhdG9yID0gYXV0aGVudGljYXRvci5mZWVfcGF5ZXIuYXV0aGVudGljYXRvciBhcyBBY2NvdW50QXV0aGVudGljYXRvckVkMjU1MTk7XG4gICAgICBjb25zdCBmZWVQYXllclNpZ25hdHVyZSA9IEJ1ZmZlci5mcm9tKGZlZVBheWVyQXV0aGVudGljYXRvci5zaWduYXR1cmUudG9VaW50OEFycmF5KCkpO1xuICAgICAgdGhpcy5hZGRGZWVQYXllclNpZ25hdHVyZSh7IHB1YjogZmVlUGF5ZXJBdXRoZW50aWNhdG9yLnB1YmxpY19rZXkudG9TdHJpbmcoKSB9LCBmZWVQYXllclNpZ25hdHVyZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcignaW52YWxpZCBzaWduZWQgdHJhbnNhY3Rpb24nLCBlKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzaWduZWQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVzZXJpYWxpemVzIGEgc2lnbmVkIHRyYW5zYWN0aW9uIGhleCBzdHJpbmdcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNpZ25lZFJhd1RyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zIHtTaWduZWRUcmFuc2FjdGlvbn0gdGhlIGFwdG9zIHNpZ25lZCB0cmFuc2FjdGlvblxuICAgKi9cbiAgc3RhdGljIGRlc2VyaWFsaXplU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkUmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHV0aWxzLmRlc2VyaWFsaXplU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkUmF3VHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJywgZSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkUmF3VHJhbnNhY3Rpb24oKSB7XG4gICAgY29uc3QgbmV0d29yazogTmV0d29yayA9IHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlID09PSBOZXR3b3JrVHlwZS5NQUlOTkVUID8gTmV0d29yay5NQUlOTkVUIDogTmV0d29yay5URVNUTkVUO1xuICAgIGNvbnN0IGFwdG9zID0gbmV3IEFwdG9zKG5ldyBBcHRvc0NvbmZpZyh7IG5ldHdvcmsgfSkpO1xuICAgIGNvbnN0IHNlbmRlckFkZHJlc3MgPSBBY2NvdW50QWRkcmVzcy5mcm9tU3RyaW5nKHRoaXMuX3NlbmRlcik7XG4gICAgY29uc3QgcmVjaXBpZW50QWRkcmVzcyA9IEFjY291bnRBZGRyZXNzLmZyb21TdHJpbmcodGhpcy5fcmVjaXBpZW50LmFkZHJlc3MpO1xuXG4gICAgY29uc3Qgc2ltcGxlVHhuID0gYXdhaXQgYXB0b3MudHJhbnNhY3Rpb24uYnVpbGQuc2ltcGxlKHtcbiAgICAgIHNlbmRlcjogc2VuZGVyQWRkcmVzcyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgZnVuY3Rpb246ICcweDE6OmFwdG9zX2FjY291bnQ6OnRyYW5zZmVyJyxcbiAgICAgICAgZnVuY3Rpb25Bcmd1bWVudHM6IFtyZWNpcGllbnRBZGRyZXNzLCB0aGlzLnJlY2lwaWVudC5hbW91bnRdLFxuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgbWF4R2FzQW1vdW50OiB0aGlzLm1heEdhc0Ftb3VudCxcbiAgICAgICAgZ2FzVW5pdFByaWNlOiB0aGlzLmdhc1VuaXRQcmljZSxcbiAgICAgICAgZXhwaXJlVGltZXN0YW1wOiB0aGlzLmV4cGlyYXRpb25UaW1lLFxuICAgICAgICBhY2NvdW50U2VxdWVuY2VOdW1iZXI6IHRoaXMuc2VxdWVuY2VOdW1iZXIsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHRoaXMuX3Jhd1RyYW5zYWN0aW9uID0gc2ltcGxlVHhuLnJhd1RyYW5zYWN0aW9uO1xuICB9XG5cbiAgcHVibGljIGdldEZlZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgQmlnTnVtYmVyKHRoaXMuZ2FzVXNlZCkubXVsdGlwbGllZEJ5KHRoaXMuZ2FzVW5pdFByaWNlKS50b1N0cmluZygpO1xuICB9XG5cbiAgcHVibGljIGdldCBzaWduYWJsZVBheWxvYWQoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5mZWVQYXllckFkZHJlc3MgPyB0aGlzLmdldFNpZ25hYmxlUGF5bG9hZFdpdGhGZWVQYXllcigpIDogdGhpcy5nZXRTaWduYWJsZVBheWxvYWRXaXRob3V0RmVlUGF5ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2lnbmFibGVQYXlsb2FkV2l0aEZlZVBheWVyKCk6IEJ1ZmZlciB7XG4gICAgY29uc3QgZmVlUGF5ZXJSYXdUeG4gPSBuZXcgRmVlUGF5ZXJSYXdUcmFuc2FjdGlvbihcbiAgICAgIHRoaXMuX3Jhd1RyYW5zYWN0aW9uLFxuICAgICAgW10sXG4gICAgICBBY2NvdW50QWRkcmVzcy5mcm9tU3RyaW5nKHRoaXMuX2ZlZVBheWVyQWRkcmVzcylcbiAgICApO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShnZW5lcmF0ZVNpZ25pbmdNZXNzYWdlKGZlZVBheWVyUmF3VHhuLmJjc1RvQnl0ZXMoKSwgUkFXX1RSQU5TQUNUSU9OX1dJVEhfREFUQV9TQUxUKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFNpZ25hYmxlUGF5bG9hZFdpdGhvdXRGZWVQYXllcigpOiBCdWZmZXIge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShnZW5lcmF0ZVNpZ25pbmdNZXNzYWdlKHRoaXMuX3Jhd1RyYW5zYWN0aW9uLmJjc1RvQnl0ZXMoKSwgUkFXX1RSQU5TQUNUSU9OX1NBTFQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVUeG5JZCgpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fc2VuZGVyU2lnbmF0dXJlIHx8XG4gICAgICAhdGhpcy5fc2VuZGVyU2lnbmF0dXJlLnB1YmxpY0tleSB8fFxuICAgICAgIXRoaXMuX3NlbmRlclNpZ25hdHVyZS5zaWduYXR1cmUgfHxcbiAgICAgICF0aGlzLl9mZWVQYXllclNpZ25hdHVyZSB8fFxuICAgICAgIXRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlLnB1YmxpY0tleSB8fFxuICAgICAgIXRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlLnNpZ25hdHVyZVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IG5ldyBTaW1wbGVUcmFuc2FjdGlvbih0aGlzLl9yYXdUcmFuc2FjdGlvbik7XG4gICAgY29uc3Qgc2VuZGVyUHVibGljS2V5ID0gbmV3IEVkMjU1MTlQdWJsaWNLZXkodXRpbHMuZ2V0QnVmZmVyRnJvbUhleFN0cmluZyh0aGlzLl9zZW5kZXJTaWduYXR1cmUucHVibGljS2V5LnB1YikpO1xuICAgIGNvbnN0IHNlbmRlclNpZ25hdHVyZSA9IG5ldyBFZDI1NTE5U2lnbmF0dXJlKHRoaXMuX3NlbmRlclNpZ25hdHVyZS5zaWduYXR1cmUpO1xuICAgIGNvbnN0IHNlbmRlckF1dGhlbnRpY2F0b3IgPSBuZXcgQWNjb3VudEF1dGhlbnRpY2F0b3JFZDI1NTE5KHNlbmRlclB1YmxpY0tleSwgc2VuZGVyU2lnbmF0dXJlKTtcbiAgICBjb25zdCBmZWVQYXllclB1YmxpY0tleSA9IG5ldyBFZDI1NTE5UHVibGljS2V5KHV0aWxzLmdldEJ1ZmZlckZyb21IZXhTdHJpbmcodGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUucHVibGljS2V5LnB1YikpO1xuICAgIGNvbnN0IGZlZVBheWVyU2lnbmF0dXJlID0gbmV3IEVkMjU1MTlTaWduYXR1cmUodGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUuc2lnbmF0dXJlKTtcbiAgICBjb25zdCBmZWVQYXllckF1dGhlbnRpY2F0b3IgPSBuZXcgQWNjb3VudEF1dGhlbnRpY2F0b3JFZDI1NTE5KGZlZVBheWVyUHVibGljS2V5LCBmZWVQYXllclNpZ25hdHVyZSk7XG4gICAgdGhpcy5faWQgPSBnZW5lcmF0ZVVzZXJUcmFuc2FjdGlvbkhhc2goeyB0cmFuc2FjdGlvbiwgc2VuZGVyQXV0aGVudGljYXRvciwgZmVlUGF5ZXJBdXRoZW50aWNhdG9yIH0pO1xuICB9XG59XG4iXX0=
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQVE4QjtBQUU5QiwrQ0FnQjRCO0FBQzVCLDRDQUEwRjtBQUMxRixxREFBNkI7QUFDN0IsZ0VBQXFDO0FBR3JDLE1BQXNCLFdBQVksU0FBUSwwQkFBZTtJQWdCdkQsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRywrQkFBc0IsQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLGtDQUFzQixDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsNEJBQWdCLENBQUM7UUFDdkUsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyx1QkFBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUc7WUFDdEIsU0FBUyxFQUFFO2dCQUNULEdBQUcsRUFBRSxZQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTthQUMvRDtZQUNELFNBQVMsRUFBRSxXQUFXLENBQUMsZUFBZTtTQUN2QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLHVCQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxrQkFBa0IsR0FBRztZQUN4QixTQUFTLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFLFlBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFO2FBQy9EO1lBQ0QsU0FBUyxFQUFFLFdBQVcsQ0FBQyxlQUFlO1NBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLElBQVcsRUFBRTtRQUNYLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQyxHQUFHLElBQUksNEJBQWdCLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxLQUEyQjtRQUN2QyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxjQUFjLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxjQUFjLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLGVBQWUsQ0FBQyxlQUFnQztRQUNsRCxJQUFJLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWE7UUFDbkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxQixNQUFNLElBQUksa0NBQXVCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLHFCQUFxQixHQUFHLGVBQUssQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hHLE1BQU0sZUFBZSxHQUFHLElBQUkseUJBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUVwRSxNQUFNLGVBQWUsR0FBRyxJQUFJLHlCQUFnQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5RSxNQUFNLG1CQUFtQixHQUFHLElBQUksb0NBQTJCLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRTlGLE1BQU0sdUJBQXVCLEdBQUcsZUFBSyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEcsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLHlCQUFnQixDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFeEUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLHlCQUFnQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRixNQUFNLHFCQUFxQixHQUFHLElBQUksb0NBQTJCLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUVwRyxNQUFNLGdCQUFnQixHQUFHLElBQUkseUNBQWdDLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUN6RixPQUFPLEVBQUUsdUJBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQ3pELGFBQWEsRUFBRSxxQkFBcUI7U0FDckMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxTQUFTLEdBQUcsSUFBSSwwQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDaEYsT0FBTyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGtCQUFrQixDQUFDLFNBQW9CLEVBQUUsU0FBaUI7UUFDeEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDL0MsQ0FBQztJQUVELG9CQUFvQixDQUFDLFNBQW9CLEVBQUUsU0FBaUI7UUFDMUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFlO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2I7Z0JBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFnQjtnQkFDdEMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTthQUM1QjtTQUNGLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2Q7Z0JBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTztnQkFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBZ0I7Z0JBQ3RDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7YUFDNUI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUlEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsNEJBQTRCLENBQUMsb0JBQTRCO1FBQzlELElBQUksQ0FBQztZQUNILE9BQU8sZUFBSyxDQUFDLDRCQUE0QixDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUlNLE1BQU07UUFDWCxPQUFPLElBQUksc0JBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDO0lBQ2pILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0JBQWtCO1FBQ2hCLE1BQU0sWUFBWSxHQUFHO1lBQ25CLElBQUk7WUFDSixTQUFTO1lBQ1QsY0FBYztZQUNkLGVBQWU7WUFDZixjQUFjO1lBQ2QsS0FBSztZQUNMLGdCQUFnQjtZQUNoQixRQUFRO1lBQ1IsTUFBTTtTQUNQLENBQUM7UUFFRixNQUFNLE9BQU8sR0FBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUN2QyxPQUFPO1lBQ0wsWUFBWTtZQUNaLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLE9BQU87WUFDUCxZQUFZO1lBQ1osYUFBYSxFQUFFLEVBQUU7WUFDakIsWUFBWSxFQUFFLEdBQUc7WUFDakIsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2hCLENBQUM7SUFDSixDQUFDO0lBRU8sOEJBQThCO1FBQ3BDLE1BQU0sY0FBYyxHQUFHLElBQUksK0JBQXNCLENBQy9DLElBQUksQ0FBQyxlQUFlLEVBQ3BCLEVBQUUsRUFDRix1QkFBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FDakQsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFBLCtCQUFzQixFQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsRUFBRSx1Q0FBOEIsQ0FBQyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVPLGlDQUFpQztRQUN2QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBQSwrQkFBc0IsRUFBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxFQUFFLDZCQUFvQixDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUNFLENBQUMsSUFBSSxDQUFDLGdCQUFnQjtZQUN0QixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTO1lBQ2hDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVM7WUFDaEMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCO1lBQ3hCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVM7WUFDbEMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUNsQyxDQUFDO1lBQ0QsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLDBCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoRSxNQUFNLGVBQWUsR0FBRyxJQUFJLHlCQUFnQixDQUFDLGVBQUssQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEgsTUFBTSxlQUFlLEdBQUcsSUFBSSx5QkFBZ0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLG9DQUEyQixDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUM5RixNQUFNLGlCQUFpQixHQUFHLElBQUkseUJBQWdCLENBQUMsZUFBSyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwSCxNQUFNLGlCQUFpQixHQUFHLElBQUkseUJBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxvQ0FBMkIsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBQSxvQ0FBMkIsRUFBQyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDdEcsQ0FBQzs7QUE3UUgsa0NBOFFDO0FBalFRLDRCQUFnQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDcEMsMkJBQWUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgUHVibGljS2V5LFxuICBTaWduYXR1cmUsXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50LFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7XG4gIEFjY291bnRBZGRyZXNzLFxuICBBY2NvdW50QXV0aGVudGljYXRvckVkMjU1MTksXG4gIERFRkFVTFRfTUFYX0dBU19BTU9VTlQsXG4gIEVkMjU1MTlQdWJsaWNLZXksXG4gIEVkMjU1MTlTaWduYXR1cmUsXG4gIEZlZVBheWVyUmF3VHJhbnNhY3Rpb24sXG4gIGdlbmVyYXRlU2lnbmluZ01lc3NhZ2UsXG4gIGdlbmVyYXRlVXNlclRyYW5zYWN0aW9uSGFzaCxcbiAgSGV4LFxuICBSQVdfVFJBTlNBQ1RJT05fU0FMVCxcbiAgUkFXX1RSQU5TQUNUSU9OX1dJVEhfREFUQV9TQUxULFxuICBSYXdUcmFuc2FjdGlvbixcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFNpbXBsZVRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvbkF1dGhlbnRpY2F0b3JGZWVQYXllcixcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7IERFRkFVTFRfR0FTX1VOSVRfUFJJQ0UsIFNFQ09ORFNfUEVSX1dFRUssIFVOQVZBSUxBQkxFX1RFWFQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IEFwdFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuLi9pZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbiB7XG4gIHByb3RlY3RlZCBfcmF3VHJhbnNhY3Rpb246IFJhd1RyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgX3NlbmRlclNpZ25hdHVyZTogU2lnbmF0dXJlO1xuICBwcm90ZWN0ZWQgX2ZlZVBheWVyU2lnbmF0dXJlOiBTaWduYXR1cmU7XG4gIHByb3RlY3RlZCBfc2VuZGVyOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfcmVjaXBpZW50OiBUcmFuc2FjdGlvblJlY2lwaWVudDtcbiAgcHJvdGVjdGVkIF9zZXF1ZW5jZU51bWJlcjogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX21heEdhc0Ftb3VudDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2dhc1VuaXRQcmljZTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2dhc1VzZWQ6IG51bWJlcjtcbiAgcHJvdGVjdGVkIF9leHBpcmF0aW9uVGltZTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2ZlZVBheWVyQWRkcmVzczogc3RyaW5nO1xuXG4gIHN0YXRpYyBFTVBUWV9QVUJMSUNfS0VZID0gQnVmZmVyLmFsbG9jKDMyKTtcbiAgc3RhdGljIEVNUFRZX1NJR05BVFVSRSA9IEJ1ZmZlci5hbGxvYyg2NCk7XG5cbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgICB0aGlzLl9tYXhHYXNBbW91bnQgPSBERUZBVUxUX01BWF9HQVNfQU1PVU5UO1xuICAgIHRoaXMuX2dhc1VuaXRQcmljZSA9IERFRkFVTFRfR0FTX1VOSVRfUFJJQ0U7XG4gICAgdGhpcy5fZ2FzVXNlZCA9IDA7XG4gICAgdGhpcy5fZXhwaXJhdGlvblRpbWUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxZTMpICsgU0VDT05EU19QRVJfV0VFSztcbiAgICB0aGlzLl9zZXF1ZW5jZU51bWJlciA9IDA7XG4gICAgdGhpcy5fc2VuZGVyID0gQWNjb3VudEFkZHJlc3MuWkVSTy50b1N0cmluZygpO1xuICAgIHRoaXMuX3NlbmRlclNpZ25hdHVyZSA9IHtcbiAgICAgIHB1YmxpY0tleToge1xuICAgICAgICBwdWI6IEhleC5mcm9tSGV4SW5wdXQoVHJhbnNhY3Rpb24uRU1QVFlfUFVCTElDX0tFWSkudG9TdHJpbmcoKSxcbiAgICAgIH0sXG4gICAgICBzaWduYXR1cmU6IFRyYW5zYWN0aW9uLkVNUFRZX1NJR05BVFVSRSxcbiAgICB9O1xuICAgIHRoaXMuX2ZlZVBheWVyQWRkcmVzcyA9IEFjY291bnRBZGRyZXNzLlpFUk8udG9TdHJpbmcoKTtcbiAgICB0aGlzLl9mZWVQYXllclNpZ25hdHVyZSA9IHtcbiAgICAgIHB1YmxpY0tleToge1xuICAgICAgICBwdWI6IEhleC5mcm9tSGV4SW5wdXQoVHJhbnNhY3Rpb24uRU1QVFlfUFVCTElDX0tFWSkudG9TdHJpbmcoKSxcbiAgICAgIH0sXG4gICAgICBzaWduYXR1cmU6IFRyYW5zYWN0aW9uLkVNUFRZX1NJR05BVFVSRSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgdGhpcy5nZW5lcmF0ZVR4bklkKCk7XG4gICAgcmV0dXJuIHRoaXMuX2lkID8/IFVOQVZBSUxBQkxFX1RFWFQ7XG4gIH1cblxuICBnZXQgc2VuZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRlcjtcbiAgfVxuXG4gIHNldCBzZW5kZXIodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NlbmRlciA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHJlY2lwaWVudCgpOiBUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3JlY2lwaWVudDtcbiAgfVxuXG4gIHNldCByZWNpcGllbnQodmFsdWU6IFRyYW5zYWN0aW9uUmVjaXBpZW50KSB7XG4gICAgdGhpcy5fcmVjaXBpZW50ID0gdmFsdWU7XG4gIH1cblxuICBnZXQgc2VxdWVuY2VOdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fc2VxdWVuY2VOdW1iZXI7XG4gIH1cblxuICBzZXQgc2VxdWVuY2VOdW1iZXIodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3NlcXVlbmNlTnVtYmVyID0gdmFsdWU7XG4gIH1cblxuICBnZXQgbWF4R2FzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21heEdhc0Ftb3VudDtcbiAgfVxuXG4gIHNldCBtYXhHYXNBbW91bnQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX21heEdhc0Ftb3VudCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGdhc1VuaXRQcmljZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9nYXNVbml0UHJpY2U7XG4gIH1cblxuICBzZXQgZ2FzVW5pdFByaWNlKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9nYXNVbml0UHJpY2UgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBnYXNVc2VkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2dhc1VzZWQ7XG4gIH1cblxuICBzZXQgZ2FzVXNlZCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fZ2FzVXNlZCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGV4cGlyYXRpb25UaW1lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2V4cGlyYXRpb25UaW1lO1xuICB9XG5cbiAgc2V0IGV4cGlyYXRpb25UaW1lKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9leHBpcmF0aW9uVGltZSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGZlZVBheWVyQWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mZWVQYXllckFkZHJlc3M7XG4gIH1cblxuICBzZXQgdHJhbnNhY3Rpb25UeXBlKHRyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25UeXBlKSB7XG4gICAgdGhpcy5fdHlwZSA9IHRyYW5zYWN0aW9uVHlwZTtcbiAgfVxuXG4gIGNhblNpZ24oX2tleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHRvQnJvYWRjYXN0Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9yYXdUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKTtcbiAgfVxuXG4gIHNlcmlhbGl6ZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbmRlclB1YmxpY0tleUJ1ZmZlciA9IHV0aWxzLmdldEJ1ZmZlckZyb21IZXhTdHJpbmcodGhpcy5fc2VuZGVyU2lnbmF0dXJlLnB1YmxpY0tleS5wdWIpO1xuICAgIGNvbnN0IHNlbmRlclB1YmxpY0tleSA9IG5ldyBFZDI1NTE5UHVibGljS2V5KHNlbmRlclB1YmxpY0tleUJ1ZmZlcik7XG5cbiAgICBjb25zdCBzZW5kZXJTaWduYXR1cmUgPSBuZXcgRWQyNTUxOVNpZ25hdHVyZSh0aGlzLl9zZW5kZXJTaWduYXR1cmUuc2lnbmF0dXJlKTtcbiAgICBjb25zdCBzZW5kZXJBdXRoZW50aWNhdG9yID0gbmV3IEFjY291bnRBdXRoZW50aWNhdG9yRWQyNTUxOShzZW5kZXJQdWJsaWNLZXksIHNlbmRlclNpZ25hdHVyZSk7XG5cbiAgICBjb25zdCBmZWVQYXllclB1YmxpY0tleUJ1ZmZlciA9IHV0aWxzLmdldEJ1ZmZlckZyb21IZXhTdHJpbmcodGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUucHVibGljS2V5LnB1Yik7XG4gICAgY29uc3QgZmVlUGF5ZXJQdWJsaWNLZXkgPSBuZXcgRWQyNTUxOVB1YmxpY0tleShmZWVQYXllclB1YmxpY0tleUJ1ZmZlcik7XG5cbiAgICBjb25zdCBmZWVQYXllclNpZ25hdHVyZSA9IG5ldyBFZDI1NTE5U2lnbmF0dXJlKHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlLnNpZ25hdHVyZSk7XG4gICAgY29uc3QgZmVlUGF5ZXJBdXRoZW50aWNhdG9yID0gbmV3IEFjY291bnRBdXRoZW50aWNhdG9yRWQyNTUxOShmZWVQYXllclB1YmxpY0tleSwgZmVlUGF5ZXJTaWduYXR1cmUpO1xuXG4gICAgY29uc3QgdHhuQXV0aGVudGljYXRvciA9IG5ldyBUcmFuc2FjdGlvbkF1dGhlbnRpY2F0b3JGZWVQYXllcihzZW5kZXJBdXRoZW50aWNhdG9yLCBbXSwgW10sIHtcbiAgICAgIGFkZHJlc3M6IEFjY291bnRBZGRyZXNzLmZyb21TdHJpbmcodGhpcy5fZmVlUGF5ZXJBZGRyZXNzKSxcbiAgICAgIGF1dGhlbnRpY2F0b3I6IGZlZVBheWVyQXV0aGVudGljYXRvcixcbiAgICB9KTtcblxuICAgIGNvbnN0IHNpZ25lZFR4biA9IG5ldyBTaWduZWRUcmFuc2FjdGlvbih0aGlzLl9yYXdUcmFuc2FjdGlvbiwgdHhuQXV0aGVudGljYXRvcik7XG4gICAgcmV0dXJuIHNpZ25lZFR4bi50b1N0cmluZygpO1xuICB9XG5cbiAgYWRkU2VuZGVyU2lnbmF0dXJlKHB1YmxpY0tleTogUHVibGljS2V5LCBzaWduYXR1cmU6IEJ1ZmZlcik6IHZvaWQge1xuICAgIHRoaXMuX3NpZ25hdHVyZXMgPSBbc2lnbmF0dXJlLnRvU3RyaW5nKCdoZXgnKV07XG4gICAgdGhpcy5fc2VuZGVyU2lnbmF0dXJlID0geyBwdWJsaWNLZXksIHNpZ25hdHVyZSB9O1xuICB9XG5cbiAgZ2V0RmVlUGF5ZXJQdWJLZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUucHVibGljS2V5LnB1YjtcbiAgfVxuXG4gIGFkZEZlZVBheWVyU2lnbmF0dXJlKHB1YmxpY0tleTogUHVibGljS2V5LCBzaWduYXR1cmU6IEJ1ZmZlcik6IHZvaWQge1xuICAgIHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlID0geyBwdWJsaWNLZXksIHNpZ25hdHVyZSB9O1xuICB9XG5cbiAgYWRkRmVlUGF5ZXJBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2ZlZVBheWVyQWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cblxuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmJ1aWxkUmF3VHJhbnNhY3Rpb24oKTtcbiAgICB0aGlzLmdlbmVyYXRlVHhuSWQoKTtcbiAgICB0aGlzLmxvYWRJbnB1dHNBbmRPdXRwdXRzKCk7XG4gIH1cblxuICBsb2FkSW5wdXRzQW5kT3V0cHV0cygpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnB1dHMgPSBbXG4gICAgICB7XG4gICAgICAgIGFkZHJlc3M6IHRoaXMuc2VuZGVyLFxuICAgICAgICB2YWx1ZTogdGhpcy5yZWNpcGllbnQuYW1vdW50IGFzIHN0cmluZyxcbiAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgfSxcbiAgICBdO1xuICAgIHRoaXMuX291dHB1dHMgPSBbXG4gICAgICB7XG4gICAgICAgIGFkZHJlc3M6IHRoaXMucmVjaXBpZW50LmFkZHJlc3MsXG4gICAgICAgIHZhbHVlOiB0aGlzLnJlY2lwaWVudC5hbW91bnQgYXMgc3RyaW5nLFxuICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBhYnN0cmFjdCBmcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIERlc2VyaWFsaXplcyBhIHNpZ25lZCB0cmFuc2FjdGlvbiBoZXggc3RyaW5nXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzaWduZWRSYXdUcmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7U2lnbmVkVHJhbnNhY3Rpb259IHRoZSBhcHRvcyBzaWduZWQgdHJhbnNhY3Rpb25cbiAgICovXG4gIHN0YXRpYyBkZXNlcmlhbGl6ZVNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBTaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB1dGlscy5kZXNlcmlhbGl6ZVNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFJhd1RyYW5zYWN0aW9uKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicsIGUpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBidWlsZFJhd1RyYW5zYWN0aW9uKCk6IHZvaWQ7XG5cbiAgcHVibGljIGdldEZlZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgQmlnTnVtYmVyKHRoaXMuZ2FzVXNlZCkubXVsdGlwbGllZEJ5KHRoaXMuZ2FzVW5pdFByaWNlKS50b1N0cmluZygpO1xuICB9XG5cbiAgcHVibGljIGdldCBzaWduYWJsZVBheWxvYWQoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5mZWVQYXllckFkZHJlc3MgPyB0aGlzLmdldFNpZ25hYmxlUGF5bG9hZFdpdGhGZWVQYXllcigpIDogdGhpcy5nZXRTaWduYWJsZVBheWxvYWRXaXRob3V0RmVlUGF5ZXIoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBleHBsYWluVHJhbnNhY3Rpb24oKTogQXB0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gICAgY29uc3QgZGlzcGxheU9yZGVyID0gW1xuICAgICAgJ2lkJyxcbiAgICAgICdvdXRwdXRzJyxcbiAgICAgICdvdXRwdXRBbW91bnQnLFxuICAgICAgJ2NoYW5nZU91dHB1dHMnLFxuICAgICAgJ2NoYW5nZUFtb3VudCcsXG4gICAgICAnZmVlJyxcbiAgICAgICd3aXRoZHJhd0Ftb3VudCcsXG4gICAgICAnc2VuZGVyJyxcbiAgICAgICd0eXBlJyxcbiAgICBdO1xuXG4gICAgY29uc3Qgb3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSA9IFt0aGlzLnJlY2lwaWVudF07XG4gICAgY29uc3Qgb3V0cHV0QW1vdW50ID0gb3V0cHV0c1swXS5hbW91bnQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgb3V0cHV0cyxcbiAgICAgIG91dHB1dEFtb3VudCxcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtdLFxuICAgICAgY2hhbmdlQW1vdW50OiAnMCcsXG4gICAgICBmZWU6IHsgZmVlOiB0aGlzLmdldEZlZSgpIH0sXG4gICAgICBzZW5kZXI6IHRoaXMuc2VuZGVyLFxuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFNpZ25hYmxlUGF5bG9hZFdpdGhGZWVQYXllcigpOiBCdWZmZXIge1xuICAgIGNvbnN0IGZlZVBheWVyUmF3VHhuID0gbmV3IEZlZVBheWVyUmF3VHJhbnNhY3Rpb24oXG4gICAgICB0aGlzLl9yYXdUcmFuc2FjdGlvbixcbiAgICAgIFtdLFxuICAgICAgQWNjb3VudEFkZHJlc3MuZnJvbVN0cmluZyh0aGlzLl9mZWVQYXllckFkZHJlc3MpXG4gICAgKTtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oZ2VuZXJhdGVTaWduaW5nTWVzc2FnZShmZWVQYXllclJhd1R4bi5iY3NUb0J5dGVzKCksIFJBV19UUkFOU0FDVElPTl9XSVRIX0RBVEFfU0FMVCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaWduYWJsZVBheWxvYWRXaXRob3V0RmVlUGF5ZXIoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oZ2VuZXJhdGVTaWduaW5nTWVzc2FnZSh0aGlzLl9yYXdUcmFuc2FjdGlvbi5iY3NUb0J5dGVzKCksIFJBV19UUkFOU0FDVElPTl9TQUxUKSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVHhuSWQoKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuX3NlbmRlclNpZ25hdHVyZSB8fFxuICAgICAgIXRoaXMuX3NlbmRlclNpZ25hdHVyZS5wdWJsaWNLZXkgfHxcbiAgICAgICF0aGlzLl9zZW5kZXJTaWduYXR1cmUuc2lnbmF0dXJlIHx8XG4gICAgICAhdGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUgfHxcbiAgICAgICF0aGlzLl9mZWVQYXllclNpZ25hdHVyZS5wdWJsaWNLZXkgfHxcbiAgICAgICF0aGlzLl9mZWVQYXllclNpZ25hdHVyZS5zaWduYXR1cmVcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgU2ltcGxlVHJhbnNhY3Rpb24odGhpcy5fcmF3VHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHNlbmRlclB1YmxpY0tleSA9IG5ldyBFZDI1NTE5UHVibGljS2V5KHV0aWxzLmdldEJ1ZmZlckZyb21IZXhTdHJpbmcodGhpcy5fc2VuZGVyU2lnbmF0dXJlLnB1YmxpY0tleS5wdWIpKTtcbiAgICBjb25zdCBzZW5kZXJTaWduYXR1cmUgPSBuZXcgRWQyNTUxOVNpZ25hdHVyZSh0aGlzLl9zZW5kZXJTaWduYXR1cmUuc2lnbmF0dXJlKTtcbiAgICBjb25zdCBzZW5kZXJBdXRoZW50aWNhdG9yID0gbmV3IEFjY291bnRBdXRoZW50aWNhdG9yRWQyNTUxOShzZW5kZXJQdWJsaWNLZXksIHNlbmRlclNpZ25hdHVyZSk7XG4gICAgY29uc3QgZmVlUGF5ZXJQdWJsaWNLZXkgPSBuZXcgRWQyNTUxOVB1YmxpY0tleSh1dGlscy5nZXRCdWZmZXJGcm9tSGV4U3RyaW5nKHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlLnB1YmxpY0tleS5wdWIpKTtcbiAgICBjb25zdCBmZWVQYXllclNpZ25hdHVyZSA9IG5ldyBFZDI1NTE5U2lnbmF0dXJlKHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlLnNpZ25hdHVyZSk7XG4gICAgY29uc3QgZmVlUGF5ZXJBdXRoZW50aWNhdG9yID0gbmV3IEFjY291bnRBdXRoZW50aWNhdG9yRWQyNTUxOShmZWVQYXllclB1YmxpY0tleSwgZmVlUGF5ZXJTaWduYXR1cmUpO1xuICAgIHRoaXMuX2lkID0gZ2VuZXJhdGVVc2VyVHJhbnNhY3Rpb25IYXNoKHsgdHJhbnNhY3Rpb24sIHNlbmRlckF1dGhlbnRpY2F0b3IsIGZlZVBheWVyQXV0aGVudGljYXRvciB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Transaction } from './transaction';
|
|
2
|
-
import {
|
|
2
|
+
import { TransferTxData } from '../iface';
|
|
3
|
+
import { SignedTransaction } from '@aptos-labs/ts-sdk';
|
|
3
4
|
export declare class TransferTransaction extends Transaction {
|
|
4
5
|
constructor(coinConfig: any);
|
|
5
|
-
/** @inheritDoc */
|
|
6
|
-
explainTransaction(): AptTransactionExplanation;
|
|
7
6
|
toJson(): TransferTxData;
|
|
7
|
+
fromRawTransaction(rawTransaction: string): void;
|
|
8
|
+
fromDeserializedSignedTransaction(signedTxn: SignedTransaction): void;
|
|
9
|
+
protected buildRawTransaction(): Promise<void>;
|
|
8
10
|
}
|
|
9
11
|
//# sourceMappingURL=transferTransaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/transferTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transferTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/transferTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAML,iBAAiB,EAElB,MAAM,oBAAoB,CAAC;AAI5B,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,UAAU,KAAA;IAKtB,MAAM,IAAI,cAAc;IAcxB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAWhD,iCAAiC,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;cA2BrD,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBrD"}
|
|
@@ -1,40 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.TransferTransaction = void 0;
|
|
4
7
|
const transaction_1 = require("./transaction");
|
|
5
8
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
9
|
+
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
|
|
10
|
+
const utils_1 = __importDefault(require("../utils"));
|
|
11
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
6
12
|
class TransferTransaction extends transaction_1.Transaction {
|
|
7
13
|
constructor(coinConfig) {
|
|
8
14
|
super(coinConfig);
|
|
9
15
|
this._type = sdk_core_1.TransactionType.Send;
|
|
10
16
|
}
|
|
11
|
-
/** @inheritDoc */
|
|
12
|
-
explainTransaction() {
|
|
13
|
-
const displayOrder = [
|
|
14
|
-
'id',
|
|
15
|
-
'outputs',
|
|
16
|
-
'outputAmount',
|
|
17
|
-
'changeOutputs',
|
|
18
|
-
'changeAmount',
|
|
19
|
-
'fee',
|
|
20
|
-
'withdrawAmount',
|
|
21
|
-
'sender',
|
|
22
|
-
'type',
|
|
23
|
-
];
|
|
24
|
-
const outputs = [this.recipient];
|
|
25
|
-
const outputAmount = outputs[0].amount;
|
|
26
|
-
return {
|
|
27
|
-
displayOrder,
|
|
28
|
-
id: this.id,
|
|
29
|
-
outputs,
|
|
30
|
-
outputAmount,
|
|
31
|
-
changeOutputs: [],
|
|
32
|
-
changeAmount: '0',
|
|
33
|
-
fee: { fee: this.getFee() },
|
|
34
|
-
sender: this.sender,
|
|
35
|
-
type: this.type,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
17
|
toJson() {
|
|
39
18
|
return {
|
|
40
19
|
id: this.id,
|
|
@@ -48,6 +27,62 @@ class TransferTransaction extends transaction_1.Transaction {
|
|
|
48
27
|
feePayer: this.feePayerAddress,
|
|
49
28
|
};
|
|
50
29
|
}
|
|
30
|
+
fromRawTransaction(rawTransaction) {
|
|
31
|
+
let signedTxn;
|
|
32
|
+
try {
|
|
33
|
+
signedTxn = utils_1.default.deserializeSignedTransaction(rawTransaction);
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
console.error('invalid raw transaction', e);
|
|
37
|
+
throw new Error('invalid raw transaction');
|
|
38
|
+
}
|
|
39
|
+
this.fromDeserializedSignedTransaction(signedTxn);
|
|
40
|
+
}
|
|
41
|
+
fromDeserializedSignedTransaction(signedTxn) {
|
|
42
|
+
try {
|
|
43
|
+
const rawTxn = signedTxn.raw_txn;
|
|
44
|
+
this._sender = rawTxn.sender.toString();
|
|
45
|
+
this._recipient = utils_1.default.getRecipientFromTransactionPayload(rawTxn.payload);
|
|
46
|
+
this._sequenceNumber = utils_1.default.castToNumber(rawTxn.sequence_number);
|
|
47
|
+
this._maxGasAmount = utils_1.default.castToNumber(rawTxn.max_gas_amount);
|
|
48
|
+
this._gasUnitPrice = utils_1.default.castToNumber(rawTxn.gas_unit_price);
|
|
49
|
+
this._expirationTime = utils_1.default.castToNumber(rawTxn.expiration_timestamp_secs);
|
|
50
|
+
this._rawTransaction = rawTxn;
|
|
51
|
+
this.loadInputsAndOutputs();
|
|
52
|
+
const authenticator = signedTxn.authenticator;
|
|
53
|
+
this._feePayerAddress = authenticator.fee_payer.address.toString();
|
|
54
|
+
const senderAuthenticator = authenticator.sender;
|
|
55
|
+
const senderSignature = Buffer.from(senderAuthenticator.signature.toUint8Array());
|
|
56
|
+
this.addSenderSignature({ pub: senderAuthenticator.public_key.toString() }, senderSignature);
|
|
57
|
+
const feePayerAuthenticator = authenticator.fee_payer.authenticator;
|
|
58
|
+
const feePayerSignature = Buffer.from(feePayerAuthenticator.signature.toUint8Array());
|
|
59
|
+
this.addFeePayerSignature({ pub: feePayerAuthenticator.public_key.toString() }, feePayerSignature);
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
console.error('invalid signed transaction', e);
|
|
63
|
+
throw new Error('invalid signed transaction');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async buildRawTransaction() {
|
|
67
|
+
const network = this._coinConfig.network.type === statics_1.NetworkType.MAINNET ? ts_sdk_1.Network.MAINNET : ts_sdk_1.Network.TESTNET;
|
|
68
|
+
const aptos = new ts_sdk_1.Aptos(new ts_sdk_1.AptosConfig({ network }));
|
|
69
|
+
const senderAddress = ts_sdk_1.AccountAddress.fromString(this._sender);
|
|
70
|
+
const recipientAddress = ts_sdk_1.AccountAddress.fromString(this._recipient.address);
|
|
71
|
+
const simpleTxn = await aptos.transaction.build.simple({
|
|
72
|
+
sender: senderAddress,
|
|
73
|
+
data: {
|
|
74
|
+
function: '0x1::aptos_account::transfer',
|
|
75
|
+
functionArguments: [recipientAddress, this.recipient.amount],
|
|
76
|
+
},
|
|
77
|
+
options: {
|
|
78
|
+
maxGasAmount: this.maxGasAmount,
|
|
79
|
+
gasUnitPrice: this.gasUnitPrice,
|
|
80
|
+
expireTimestamp: this.expirationTime,
|
|
81
|
+
accountSequenceNumber: this.sequenceNumber,
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
this._rawTransaction = simpleTxn.rawTransaction;
|
|
85
|
+
}
|
|
51
86
|
}
|
|
52
87
|
exports.TransferTransaction = TransferTransaction;
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJUcmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb24vdHJhbnNmZXJUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQ0FBNEM7QUFFNUMsbURBQXVEO0FBQ3ZELCtDQVE0QjtBQUM1QixxREFBNkI7QUFDN0IsaURBQWtEO0FBRWxELE1BQWEsbUJBQW9CLFNBQVEseUJBQVc7SUFDbEQsWUFBWSxVQUFVO1FBQ3BCLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDL0IsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxjQUFzQjtRQUN2QyxJQUFJLFNBQTRCLENBQUM7UUFDakMsSUFBSSxDQUFDO1lBQ0gsU0FBUyxHQUFHLGVBQUssQ0FBQyw0QkFBNEIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FB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LE1BQU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3JELE1BQU0sRUFBRSxhQUFhO1lBQ3JCLElBQUksRUFBRTtnQkFDSixRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxpQkFBaUIsRUFBRSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2FBQzdEO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMvQixlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWM7Z0JBQ3BDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxjQUFjO2FBQzNDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDO0lBQ2xELENBQUM7Q0FDRjtBQS9FRCxrREErRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNmZXJUeERhdGEgfSBmcm9tICcuLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQge1xuICBBY2NvdW50QWRkcmVzcyxcbiAgQWNjb3VudEF1dGhlbnRpY2F0b3JFZDI1NTE5LFxuICBBcHRvcyxcbiAgQXB0b3NDb25maWcsXG4gIE5ldHdvcmssXG4gIFNpZ25lZFRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvbkF1dGhlbnRpY2F0b3JGZWVQYXllcixcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB1dGlscyBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBOZXR3b3JrVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uIHtcbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZykge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIHRvSnNvbigpOiBUcmFuc2ZlclR4RGF0YSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgc2VuZGVyOiB0aGlzLnNlbmRlcixcbiAgICAgIHJlY2lwaWVudDogdGhpcy5yZWNpcGllbnQsXG4gICAgICBzZXF1ZW5jZU51bWJlcjogdGhpcy5zZXF1ZW5jZU51bWJlcixcbiAgICAgIG1heEdhc0Ftb3VudDogdGhpcy5tYXhHYXNBbW91bnQsXG4gICAgICBnYXNVbml0UHJpY2U6IHRoaXMuZ2FzVW5pdFByaWNlLFxuICAgICAgZ2FzVXNlZDogdGhpcy5nYXNVc2VkLFxuICAgICAgZXhwaXJhdGlvblRpbWU6IHRoaXMuZXhwaXJhdGlvblRpbWUsXG4gICAgICBmZWVQYXllcjogdGhpcy5mZWVQYXllckFkZHJlc3MsXG4gICAgfTtcbiAgfVxuXG4gIGZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHNpZ25lZFR4bjogU2lnbmVkVHJhbnNhY3Rpb247XG4gICAgdHJ5IHtcbiAgICAgIHNpZ25lZFR4biA9IHV0aWxzLmRlc2VyaWFsaXplU2lnbmVkVHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJywgZSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHRoaXMuZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4bik7XG4gIH1cblxuICBmcm9tRGVzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkVHhuOiBTaWduZWRUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByYXdUeG4gPSBzaWduZWRUeG4ucmF3X3R4bjtcbiAgICAgIHRoaXMuX3NlbmRlciA9IHJhd1R4bi5zZW5kZXIudG9TdHJpbmcoKTtcbiAgICAgIHRoaXMuX3JlY2lwaWVudCA9IHV0aWxzLmdldFJlY2lwaWVudEZyb21UcmFuc2FjdGlvblBheWxvYWQocmF3VHhuLnBheWxvYWQpO1xuICAgICAgdGhpcy5fc2VxdWVuY2VOdW1iZXIgPSB1dGlscy5jYXN0VG9OdW1iZXIocmF3VHhuLnNlcXVlbmNlX251bWJlcik7XG4gICAgICB0aGlzLl9tYXhHYXNBbW91bnQgPSB1dGlscy5jYXN0VG9OdW1iZXIocmF3VHhuLm1heF9nYXNfYW1vdW50KTtcbiAgICAgIHRoaXMuX2dhc1VuaXRQcmljZSA9IHV0aWxzLmNhc3RUb051bWJlcihyYXdUeG4uZ2FzX3VuaXRfcHJpY2UpO1xuICAgICAgdGhpcy5fZXhwaXJhdGlvblRpbWUgPSB1dGlscy5jYXN0VG9OdW1iZXIocmF3VHhuLmV4cGlyYXRpb25fdGltZXN0YW1wX3NlY3MpO1xuICAgICAgdGhpcy5fcmF3VHJhbnNhY3Rpb24gPSByYXdUeG47XG5cbiAgICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgICAgIGNvbnN0IGF1dGhlbnRpY2F0b3IgPSBzaWduZWRUeG4uYXV0aGVudGljYXRvciBhcyBUcmFuc2FjdGlvbkF1dGhlbnRpY2F0b3JGZWVQYXllcjtcbiAgICAgIHRoaXMuX2ZlZVBheWVyQWRkcmVzcyA9IGF1dGhlbnRpY2F0b3IuZmVlX3BheWVyLmFkZHJlc3MudG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IHNlbmRlckF1dGhlbnRpY2F0b3IgPSBhdXRoZW50aWNhdG9yLnNlbmRlciBhcyBBY2NvdW50QXV0aGVudGljYXRvckVkMjU1MTk7XG4gICAgICBjb25zdCBzZW5kZXJTaWduYXR1cmUgPSBCdWZmZXIuZnJvbShzZW5kZXJBdXRoZW50aWNhdG9yLnNpZ25hdHVyZS50b1VpbnQ4QXJyYXkoKSk7XG4gICAgICB0aGlzLmFkZFNlbmRlclNpZ25hdHVyZSh7IHB1Yjogc2VuZGVyQXV0aGVudGljYXRvci5wdWJsaWNfa2V5LnRvU3RyaW5nKCkgfSwgc2VuZGVyU2lnbmF0dXJlKTtcblxuICAgICAgY29uc3QgZmVlUGF5ZXJBdXRoZW50aWNhdG9yID0gYXV0aGVudGljYXRvci5mZWVfcGF5ZXIuYXV0aGVudGljYXRvciBhcyBBY2NvdW50QXV0aGVudGljYXRvckVkMjU1MTk7XG4gICAgICBjb25zdCBmZWVQYXllclNpZ25hdHVyZSA9IEJ1ZmZlci5mcm9tKGZlZVBheWVyQXV0aGVudGljYXRvci5zaWduYXR1cmUudG9VaW50OEFycmF5KCkpO1xuICAgICAgdGhpcy5hZGRGZWVQYXllclNpZ25hdHVyZSh7IHB1YjogZmVlUGF5ZXJBdXRoZW50aWNhdG9yLnB1YmxpY19rZXkudG9TdHJpbmcoKSB9LCBmZWVQYXllclNpZ25hdHVyZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcignaW52YWxpZCBzaWduZWQgdHJhbnNhY3Rpb24nLCBlKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzaWduZWQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRSYXdUcmFuc2FjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBuZXR3b3JrOiBOZXR3b3JrID0gdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUgPT09IE5ldHdvcmtUeXBlLk1BSU5ORVQgPyBOZXR3b3JrLk1BSU5ORVQgOiBOZXR3b3JrLlRFU1RORVQ7XG4gICAgY29uc3QgYXB0b3MgPSBuZXcgQXB0b3MobmV3IEFwdG9zQ29uZmlnKHsgbmV0d29yayB9KSk7XG4gICAgY29uc3Qgc2VuZGVyQWRkcmVzcyA9IEFjY291bnRBZGRyZXNzLmZyb21TdHJpbmcodGhpcy5fc2VuZGVyKTtcbiAgICBjb25zdCByZWNpcGllbnRBZGRyZXNzID0gQWNjb3VudEFkZHJlc3MuZnJvbVN0cmluZyh0aGlzLl9yZWNpcGllbnQuYWRkcmVzcyk7XG5cbiAgICBjb25zdCBzaW1wbGVUeG4gPSBhd2FpdCBhcHRvcy50cmFuc2FjdGlvbi5idWlsZC5zaW1wbGUoe1xuICAgICAgc2VuZGVyOiBzZW5kZXJBZGRyZXNzLFxuICAgICAgZGF0YToge1xuICAgICAgICBmdW5jdGlvbjogJzB4MTo6YXB0b3NfYWNjb3VudDo6dHJhbnNmZXInLFxuICAgICAgICBmdW5jdGlvbkFyZ3VtZW50czogW3JlY2lwaWVudEFkZHJlc3MsIHRoaXMucmVjaXBpZW50LmFtb3VudF0sXG4gICAgICB9LFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBtYXhHYXNBbW91bnQ6IHRoaXMubWF4R2FzQW1vdW50LFxuICAgICAgICBnYXNVbml0UHJpY2U6IHRoaXMuZ2FzVW5pdFByaWNlLFxuICAgICAgICBleHBpcmVUaW1lc3RhbXA6IHRoaXMuZXhwaXJhdGlvblRpbWUsXG4gICAgICAgIGFjY291bnRTZXF1ZW5jZU51bWJlcjogdGhpcy5zZXF1ZW5jZU51bWJlcixcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5fcmF3VHJhbnNhY3Rpb24gPSBzaW1wbGVUeG4ucmF3VHJhbnNhY3Rpb247XG4gIH1cbn1cbiJdfQ==
|
|
@@ -30,10 +30,6 @@ export declare abstract class TransactionBuilder extends BaseTransactionBuilder
|
|
|
30
30
|
/** @inheritDoc */
|
|
31
31
|
addSenderSignature(publicKey: BasePublicKey, signature: Buffer): void;
|
|
32
32
|
addFeePayerSignature(publicKey: BasePublicKey, signature: Buffer): void;
|
|
33
|
-
/** @inheritdoc */
|
|
34
|
-
protected fromImplementation(rawTransaction: string): Transaction;
|
|
35
|
-
/** @inheritdoc */
|
|
36
|
-
protected buildImplementation(): Promise<Transaction>;
|
|
37
33
|
/**
|
|
38
34
|
* Initialize the transaction builder fields using the decoded transaction data
|
|
39
35
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAGtB,SAAS,IAAI,aAAa,EAC1B,SAAS,EACT,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;gBAExB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK5C;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D,kBAAkB;IAClB,SAAS,KAAK,WAAW,IAAI,WAAW,CAEvC;IAED,kBAAkB;IAClB,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,WAAW,EAEjD;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAMnC,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAOrC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQ/B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;IAKjD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB;IAKtD,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAIvD,kBAAkB;IAClB,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrE,oBAAoB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIvE
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAGtB,SAAS,IAAI,aAAa,EAC1B,SAAS,EACT,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;gBAExB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK5C;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D,kBAAkB;IAClB,SAAS,KAAK,WAAW,IAAI,WAAW,CAEvC;IAED,kBAAkB;IAClB,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,WAAW,EAEjD;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAMnC,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAOrC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQ/B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;IAKjD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB;IAKtD,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAIvD,kBAAkB;IAClB,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrE,oBAAoB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIvE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAG3C,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAI/B,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IASpD,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI;IASpD,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAQrC,OAAO,CAAC,eAAe;IAKvB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIzC,iBAAiB,IAAI,MAAM;CAG5B"}
|
|
@@ -62,18 +62,6 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
62
62
|
addFeePayerSignature(publicKey, signature) {
|
|
63
63
|
this.transaction.addFeePayerSignature(publicKey, signature);
|
|
64
64
|
}
|
|
65
|
-
/** @inheritdoc */
|
|
66
|
-
fromImplementation(rawTransaction) {
|
|
67
|
-
this.transaction.fromRawTransaction(rawTransaction);
|
|
68
|
-
this.transaction.transactionType = this.transactionType;
|
|
69
|
-
return this.transaction;
|
|
70
|
-
}
|
|
71
|
-
/** @inheritdoc */
|
|
72
|
-
async buildImplementation() {
|
|
73
|
-
this.transaction.transactionType = this.transactionType;
|
|
74
|
-
await this.transaction.build();
|
|
75
|
-
return this.transaction;
|
|
76
|
-
}
|
|
77
65
|
// region Validators
|
|
78
66
|
/** @inheritdoc */
|
|
79
67
|
validateAddress(address, addressFormat) {
|
|
@@ -124,4 +112,4 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
124
112
|
}
|
|
125
113
|
}
|
|
126
114
|
exports.TransactionBuilder = TransactionBuilder;
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBUzhCO0FBRTlCLG9EQUE0QjtBQUM1QixnRUFBcUM7QUFJckMsTUFBc0Isa0JBQW1CLFNBQVEsaUNBQXNCO0lBR3JFLFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFRRCxrQkFBa0I7SUFDbEIsSUFBYyxXQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQWMsV0FBVyxDQUFDLFdBQXdCO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxhQUFxQjtRQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUFvQjtRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZ0I7UUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FB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LE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsYUFBYSxDQUFDLEtBQWdCO1FBQzVCLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDM0QsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDO0lBRU8sZUFBZSxDQUFDLE9BQWdCO1FBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFlO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzlDLENBQUM7Q0FDRjtBQXJKRCxnREFxSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlQWRkcmVzcyxcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlcixcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBQYXJzZVRyYW5zYWN0aW9uRXJyb3IsXG4gIFB1YmxpY0tleSBhcyBCYXNlUHVibGljS2V5LFxuICBSZWNpcGllbnQsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEdhc0RhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICB9XG5cbiAgLy8gZ2V0IGFuZCBzZXQgcmVnaW9uXG4gIC8qKlxuICAgKiBUaGUgdHJhbnNhY3Rpb24gdHlwZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZTtcblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzZXQgdHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzZW5kZXIgb2YgdGhpcyB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlbmRlckFkZHJlc3MgdGhlIGFjY291bnQgdGhhdCBpcyBzZW5kaW5nIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBzZW5kZXIoc2VuZGVyQWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzOiBzZW5kZXJBZGRyZXNzIH0pO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2VuZGVyID0gc2VuZGVyQWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHJlY2lwaWVudChyZWNpcGllbnQ6IFJlY2lwaWVudCk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogcmVjaXBpZW50LmFkZHJlc3MgfSk7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIocmVjaXBpZW50LmFtb3VudCkpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucmVjaXBpZW50ID0gcmVjaXBpZW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZ2FzRGF0YShnYXNEYXRhOiBHYXNEYXRhKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUdhc0RhdGEoZ2FzRGF0YSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5tYXhHYXNBbW91bnQgPSBnYXNEYXRhLm1heEdhc0Ftb3VudDtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmdhc1VuaXRQcmljZSA9IGdhc0RhdGEuZ2FzVW5pdFByaWNlO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uZ2FzVXNlZCA9IGdhc0RhdGEuZ2FzVXNlZCA/PyAwO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2VxdWVuY2VOdW1iZXIoc2VxTm86IG51bWJlcik6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXF1ZW5jZU51bWJlciA9IHNlcU5vO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZXhwaXJhdGlvblRpbWUoZXhwVGltZVNlYzogbnVtYmVyKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmV4cGlyYXRpb25UaW1lID0gZXhwVGltZVNlYztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYWRkU2VuZGVyU2lnbmF0dXJlKHB1YmxpY0tleTogQmFzZVB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmFkZFNlbmRlclNpZ25hdHVyZShwdWJsaWNLZXksIHNpZ25hdHVyZSk7XG4gIH1cblxuICBhZGRGZWVQYXllclNpZ25hdHVyZShwdWJsaWNLZXk6IEJhc2VQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5hZGRGZWVQYXllclNpZ25hdHVyZShwdWJsaWNLZXksIHNpZ25hdHVyZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVHlwZSA9IHRoaXMudHJhbnNhY3Rpb25UeXBlO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVHlwZSA9IHRoaXMudHJhbnNhY3Rpb25UeXBlO1xuICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb24uYnVpbGQoKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSB0cmFuc2FjdGlvbiBidWlsZGVyIGZpZWxkcyB1c2luZyB0aGUgZGVjb2RlZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IHRoZSB0cmFuc2FjdGlvbiBkYXRhXG4gICAqL1xuICBhYnN0cmFjdCBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkO1xuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0b3JzXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MsIGFkZHJlc3NGb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgYWRkcmVzcyAnICsgYWRkcmVzcy5hZGRyZXNzKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVLZXkoa2V5OiBCYXNlS2V5KTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghcmF3VHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcmF3IHRyYW5zYWN0aW9uOiBVbmRlZmluZWQnKTtcbiAgICB9XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoIXRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RyYW5zYWN0aW9uIG5vdCBkZWZpbmVkJyk7XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogdHJhbnNhY3Rpb24uc2VuZGVyIH0pO1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogdHJhbnNhY3Rpb24ucmVjaXBpZW50LmFkZHJlc3MgfSk7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIodHJhbnNhY3Rpb24ucmVjaXBpZW50LmFtb3VudCkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IEJpZ051bWJlcik6IHZvaWQge1xuICAgIGlmICh2YWx1ZS5pc05hTigpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGFtb3VudCBmb3JtYXQnKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlLmlzTGVzc1RoYW4oMCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1ZhbHVlIGNhbm5vdCBiZSBsZXNzIHRoYW4gemVybycpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVHYXNEYXRhKGdhc0RhdGE6IEdhc0RhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihnYXNEYXRhLm1heEdhc0Ftb3VudCkpO1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGdhc0RhdGEuZ2FzVW5pdFByaWNlKSk7XG4gIH1cblxuICBhZGRGZWVQYXllckFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5hZGRGZWVQYXllckFkZHJlc3MoYWRkcmVzcyk7XG4gIH1cblxuICBnZXRGZWVQYXllclB1YktleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uLmdldEZlZVBheWVyUHViS2V5KCk7XG4gIH1cbn1cbiJdfQ==
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBUzhCO0FBRTlCLG9EQUE0QjtBQUM1QixnRUFBcUM7QUFJckMsTUFBc0Isa0JBQW1CLFNBQVEsaUNBQXNCO0lBR3JFLFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFRRCxrQkFBa0I7SUFDbEIsSUFBYyxXQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQWMsV0FBVyxDQUFDLFdBQXdCO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxhQUFxQjtRQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUFvQjtRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZ0I7UUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ3JELElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDckQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDaEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGNBQWMsQ0FBQyxVQUFrQjtRQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsR0FBWTtRQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixrQkFBa0IsQ0FBQyxTQUF3QixFQUFFLFNBQWlCO1FBQzVELElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxTQUF3QixFQUFFLFNBQWlCO1FBQzlELElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFTRCxvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLGVBQWUsQ0FBQyxPQUFvQixFQUFFLGFBQXNCO1FBQzFELElBQUksQ0FBQyxlQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEUsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVyxDQUFDLEdBQVk7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsc0JBQXNCLENBQUMsY0FBc0I7UUFDM0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxJQUFJLENBQUMsZUFBSyxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDakQsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbUJBQW1CLENBQUMsV0FBeUI7UUFDM0MsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksc0JBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixhQUFhLENBQUMsS0FBZ0I7UUFDNUIsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksZ0NBQXFCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMzRCxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDcEUsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsT0FBZ0I7UUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQWU7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDOUMsQ0FBQztDQUNGO0FBdklELGdEQXVJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VBZGRyZXNzLFxuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFBhcnNlVHJhbnNhY3Rpb25FcnJvcixcbiAgUHVibGljS2V5IGFzIEJhc2VQdWJsaWNLZXksXG4gIFJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgR2FzRGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICAvLyBnZXQgYW5kIHNldCByZWdpb25cbiAgLyoqXG4gICAqIFRoZSB0cmFuc2FjdGlvbiB0eXBlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlO1xuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNldCB0cmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHNlbmRlciBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VuZGVyQWRkcmVzcyB0aGUgYWNjb3VudCB0aGF0IGlzIHNlbmRpbmcgdGhpcyB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHNlbmRlcihzZW5kZXJBZGRyZXNzOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IHNlbmRlckFkZHJlc3MgfSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZW5kZXIgPSBzZW5kZXJBZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcmVjaXBpZW50KHJlY2lwaWVudDogUmVjaXBpZW50KTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzOiByZWNpcGllbnQuYWRkcmVzcyB9KTtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihyZWNpcGllbnQuYW1vdW50KSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5yZWNpcGllbnQgPSByZWNpcGllbnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBnYXNEYXRhKGdhc0RhdGE6IEdhc0RhdGEpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlR2FzRGF0YShnYXNEYXRhKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLm1heEdhc0Ftb3VudCA9IGdhc0RhdGEubWF4R2FzQW1vdW50O1xuICAgIHRoaXMudHJhbnNhY3Rpb24uZ2FzVW5pdFByaWNlID0gZ2FzRGF0YS5nYXNVbml0UHJpY2U7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5nYXNVc2VkID0gZ2FzRGF0YS5nYXNVc2VkID8/IDA7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZXF1ZW5jZU51bWJlcihzZXFObzogbnVtYmVyKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNlcXVlbmNlTnVtYmVyID0gc2VxTm87XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBleHBpcmF0aW9uVGltZShleHBUaW1lU2VjOiBudW1iZXIpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uZXhwaXJhdGlvblRpbWUgPSBleHBUaW1lU2VjO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhZGRTZW5kZXJTaWduYXR1cmUocHVibGljS2V5OiBCYXNlUHVibGljS2V5LCBzaWduYXR1cmU6IEJ1ZmZlcik6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uYWRkU2VuZGVyU2lnbmF0dXJlKHB1YmxpY0tleSwgc2lnbmF0dXJlKTtcbiAgfVxuXG4gIGFkZEZlZVBheWVyU2lnbmF0dXJlKHB1YmxpY0tleTogQmFzZVB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmFkZEZlZVBheWVyU2lnbmF0dXJlKHB1YmxpY0tleSwgc2lnbmF0dXJlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSB0cmFuc2FjdGlvbiBidWlsZGVyIGZpZWxkcyB1c2luZyB0aGUgZGVjb2RlZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IHRoZSB0cmFuc2FjdGlvbiBkYXRhXG4gICAqL1xuICBhYnN0cmFjdCBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkO1xuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0b3JzXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MsIGFkZHJlc3NGb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgYWRkcmVzcyAnICsgYWRkcmVzcy5hZGRyZXNzKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVLZXkoa2V5OiBCYXNlS2V5KTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghcmF3VHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcmF3IHRyYW5zYWN0aW9uOiBVbmRlZmluZWQnKTtcbiAgICB9XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoIXRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RyYW5zYWN0aW9uIG5vdCBkZWZpbmVkJyk7XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogdHJhbnNhY3Rpb24uc2VuZGVyIH0pO1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogdHJhbnNhY3Rpb24ucmVjaXBpZW50LmFkZHJlc3MgfSk7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIodHJhbnNhY3Rpb24ucmVjaXBpZW50LmFtb3VudCkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IEJpZ051bWJlcik6IHZvaWQge1xuICAgIGlmICh2YWx1ZS5pc05hTigpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGFtb3VudCBmb3JtYXQnKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlLmlzTGVzc1RoYW4oMCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1ZhbHVlIGNhbm5vdCBiZSBsZXNzIHRoYW4gemVybycpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVHYXNEYXRhKGdhc0RhdGE6IEdhc0RhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihnYXNEYXRhLm1heEdhc0Ftb3VudCkpO1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGdhc0RhdGEuZ2FzVW5pdFByaWNlKSk7XG4gIH1cblxuICBhZGRGZWVQYXllckFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5hZGRGZWVQYXllckFkZHJlc3MoYWRkcmVzcyk7XG4gIH1cblxuICBnZXRGZWVQYXllclB1YktleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uLmdldEZlZVBheWVyUHViS2V5KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { BaseTransactionBuilderFactory } from '@bitgo-beta/sdk-core';
|
|
1
|
+
import { BaseTransactionBuilderFactory, TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
2
|
import { TransactionBuilder } from './transactionBuilder';
|
|
3
3
|
import { TransferBuilder } from './transferBuilder';
|
|
4
4
|
import { Transaction } from './transaction/transaction';
|
|
5
|
+
import { SignedTransaction } from '@aptos-labs/ts-sdk';
|
|
5
6
|
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
6
7
|
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
7
8
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
8
9
|
/** @inheritdoc */
|
|
9
10
|
from(signedRawTxn: string): TransactionBuilder;
|
|
11
|
+
getTransactionTypeFromSignedTxn(signedTxn: SignedTransaction): TransactionType;
|
|
10
12
|
/** @inheritdoc */
|
|
11
13
|
getTransferBuilder(tx?: Transaction): TransferBuilder;
|
|
12
14
|
/** @inheritdoc */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB;IAkB9C,+BAA+B,CAAC,SAAS,EAAE,iBAAiB,GAAG,eAAe;IAK9E,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;IAItC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAGzB"}
|
|
@@ -18,16 +18,24 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
|
|
|
18
18
|
utils_1.default.validateRawTransaction(signedRawTxn);
|
|
19
19
|
try {
|
|
20
20
|
const signedTxn = this.parseTransaction(signedRawTxn);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
const txnType = this.getTransactionTypeFromSignedTxn(signedTxn);
|
|
22
|
+
switch (txnType) {
|
|
23
|
+
case sdk_core_1.TransactionType.Send:
|
|
24
|
+
const transferTx = new transferTransaction_1.TransferTransaction(this._coinConfig);
|
|
25
|
+
transferTx.fromDeserializedSignedTransaction(signedTxn);
|
|
26
|
+
return this.getTransferBuilder(transferTx);
|
|
27
|
+
default:
|
|
28
|
+
throw new sdk_core_1.InvalidTransactionError('Invalid transaction');
|
|
29
|
+
}
|
|
26
30
|
}
|
|
27
31
|
catch (e) {
|
|
28
32
|
throw e;
|
|
29
33
|
}
|
|
30
34
|
}
|
|
35
|
+
getTransactionTypeFromSignedTxn(signedTxn) {
|
|
36
|
+
const rawTxn = signedTxn.raw_txn;
|
|
37
|
+
return utils_1.default.getTransactionTypeFromTransactionPayload(rawTxn.payload);
|
|
38
|
+
}
|
|
31
39
|
/** @inheritdoc */
|
|
32
40
|
getTransferBuilder(tx) {
|
|
33
41
|
return this.initializeBuilder(tx, new transferBuilder_1.TransferBuilder(this._coinConfig));
|
|
@@ -59,4 +67,4 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
|
|
|
59
67
|
}
|
|
60
68
|
}
|
|
61
69
|
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBK0c7QUFFL0csdURBQW9EO0FBQ3BELG9EQUE0QjtBQUM1QiwyREFBd0Q7QUFFeEQsMkVBQXdFO0FBR3hFLE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBQzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLFlBQW9CO1FBQ3ZCLGVBQUssQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUM7WUFDSCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hFLFFBQVEsT0FBTyxFQUFFLENBQUM7Z0JBQ2hCLEtBQUssMEJBQWUsQ0FBQyxJQUFJO29CQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLHlDQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDN0QsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUN4RCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDN0M7b0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDN0QsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVELCtCQUErQixDQUFDLFNBQTRCO1FBQzFELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDakMsT0FBTyxlQUFLLENBQUMsd0NBQXdDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0JBQWtCLENBQUMsRUFBZ0I7UUFDakMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksaUNBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDhCQUE4QjtRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGlCQUFpQixDQUErQixFQUEyQixFQUFFLE9BQVU7UUFDN0YsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZ0JBQWdCLENBQUMsb0JBQTRCO1FBQ25ELE9BQU8seUJBQVcsQ0FBQyw0QkFBNEIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Q0FDRjtBQTdERCw4REE2REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBTaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BhcHRvcy1sYWJzL3RzLXNkayc7XG5pbXBvcnQgeyBUcmFuc2ZlclRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2ZlclRyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBmcm9tKHNpZ25lZFJhd1R4bjogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB1dGlscy52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHNpZ25lZFJhd1R4bik7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNpZ25lZFR4biA9IHRoaXMucGFyc2VUcmFuc2FjdGlvbihzaWduZWRSYXdUeG4pO1xuICAgICAgY29uc3QgdHhuVHlwZSA9IHRoaXMuZ2V0VHJhbnNhY3Rpb25UeXBlRnJvbVNpZ25lZFR4bihzaWduZWRUeG4pO1xuICAgICAgc3dpdGNoICh0eG5UeXBlKSB7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmQ6XG4gICAgICAgICAgY29uc3QgdHJhbnNmZXJUeCA9IG5ldyBUcmFuc2ZlclRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIHRyYW5zZmVyVHguZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4bik7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyKHRyYW5zZmVyVHgpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgZ2V0VHJhbnNhY3Rpb25UeXBlRnJvbVNpZ25lZFR4bihzaWduZWRUeG46IFNpZ25lZFRyYW5zYWN0aW9uKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICBjb25zdCByYXdUeG4gPSBzaWduZWRUeG4ucmF3X3R4bjtcbiAgICByZXR1cm4gdXRpbHMuZ2V0VHJhbnNhY3Rpb25UeXBlRnJvbVRyYW5zYWN0aW9uUGF5bG9hZChyYXdUeG4ucGF5bG9hZCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXIgd2l0aCB0aGUgZ2l2ZW4gdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25CdWlsZGVyfSBidWlsZGVyIC0gdGhlIGJ1aWxkZXIgdG8gYmUgaW5pdGlhbGl6ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gdGhlIGJ1aWxkZXIgaW5pdGlhbGl6ZWRcbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uIHwgdW5kZWZpbmVkLCBidWlsZGVyOiBUKTogVCB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICAvKiogUGFyc2UgdGhlIHRyYW5zYWN0aW9uIGZyb20gYSBzaWduZWQgdHhuIGhleCBzdHJpbmdcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNpZ25lZFJhd1RyYW5zYWN0aW9uIC0gdGhlIHNpZ25lZCB0eG4gaGV4XG4gICAqIEByZXR1cm5zIHtTaWduZWRUcmFuc2FjdGlvbn0gcGFyc2VkdHJhbnNhY3Rpb25cbiAgICovXG4gIHByaXZhdGUgcGFyc2VUcmFuc2FjdGlvbihzaWduZWRSYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogU2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbi5kZXNlcmlhbGl6ZVNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFJhd1RyYW5zYWN0aW9uKTtcbiAgfVxufVxuIl19
|
|
@@ -2,6 +2,7 @@ import { TransactionBuilder } from './transactionBuilder';
|
|
|
2
2
|
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
3
|
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
4
4
|
import { TransferTransaction } from './transaction/transferTransaction';
|
|
5
|
+
import { Transaction } from './transaction/transaction';
|
|
5
6
|
export declare class TransferBuilder extends TransactionBuilder {
|
|
6
7
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
7
8
|
protected get transactionType(): TransactionType;
|
|
@@ -11,5 +12,9 @@ export declare class TransferBuilder extends TransactionBuilder {
|
|
|
11
12
|
* @param {Transaction} tx the transaction data
|
|
12
13
|
*/
|
|
13
14
|
initBuilder(tx: TransferTransaction): void;
|
|
15
|
+
/** @inheritdoc */
|
|
16
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
17
|
+
/** @inheritdoc */
|
|
18
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
14
19
|
}
|
|
15
20
|
//# sourceMappingURL=transferBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,qBAAa,eAAgB,SAAQ,kBAAkB;gBACzC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI;IAI1C,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAMjE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAK5D"}
|
|
@@ -20,6 +20,18 @@ class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
|
20
20
|
initBuilder(tx) {
|
|
21
21
|
this._transaction = tx;
|
|
22
22
|
}
|
|
23
|
+
/** @inheritdoc */
|
|
24
|
+
fromImplementation(rawTransaction) {
|
|
25
|
+
this.transaction.fromRawTransaction(rawTransaction);
|
|
26
|
+
this.transaction.transactionType = this.transactionType;
|
|
27
|
+
return this.transaction;
|
|
28
|
+
}
|
|
29
|
+
/** @inheritdoc */
|
|
30
|
+
async buildImplementation() {
|
|
31
|
+
this.transaction.transactionType = this.transactionType;
|
|
32
|
+
await this.transaction.build();
|
|
33
|
+
return this.transaction;
|
|
34
|
+
}
|
|
23
35
|
}
|
|
24
36
|
exports.TransferBuilder = TransferBuilder;
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkRBQTBEO0FBRTFELG1EQUF1RDtBQUN2RCwyRUFBd0U7QUFHeEUsTUFBYSxlQUFnQixTQUFRLHVDQUFrQjtJQUNyRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUkseUNBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLEVBQXVCO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDeEQsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFoQ0QsMENBZ0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNmZXJUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHJhbnNmZXJUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNmZXJUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSB0cmFuc2FjdGlvbiBidWlsZGVyIGZpZWxkcyB1c2luZyB0aGUgZGVjb2RlZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IHRoZSB0cmFuc2FjdGlvbiBkYXRhXG4gICAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNmZXJUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHg7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVHlwZSA9IHRoaXMudHJhbnNhY3Rpb25UeXBlO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVHlwZSA9IHRoaXMudHJhbnNhY3Rpb25UeXBlO1xuICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb24uYnVpbGQoKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxufVxuIl19
|
package/dist/src/lib/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SignedTransaction, TransactionPayload } from '@aptos-labs/ts-sdk';
|
|
2
|
-
import { BaseUtils, TransactionRecipient } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { BaseUtils, TransactionRecipient, TransactionType } from '@bitgo-beta/sdk-core';
|
|
3
3
|
export declare class Utils implements BaseUtils {
|
|
4
4
|
/** @inheritdoc */
|
|
5
5
|
isValidAddress(address: string): boolean;
|
|
@@ -16,6 +16,7 @@ export declare class Utils implements BaseUtils {
|
|
|
16
16
|
isValidHex(value: string, length: number): boolean;
|
|
17
17
|
getAddressFromPublicKey(publicKey: string): string;
|
|
18
18
|
getRecipientFromTransactionPayload(payload: TransactionPayload): TransactionRecipient;
|
|
19
|
+
getTransactionTypeFromTransactionPayload(payload: TransactionPayload): TransactionType;
|
|
19
20
|
isValidRawTransaction(rawTransaction: string): boolean;
|
|
20
21
|
validateRawTransaction(rawTransaction: string): void;
|
|
21
22
|
deserializeSignedTransaction(rawTransaction: string): SignedTransaction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,SAAS,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,SAAS,EAKT,oBAAoB,EACpB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAW9B,qBAAa,KAAM,YAAW,SAAS;IACrC,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,kBAAkB;IAClB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC,kBAAkB;IAClB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAItC,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKlD,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAOlD,kCAAkC,CAAC,OAAO,EAAE,kBAAkB,GAAG,oBAAoB;IAYrF,wCAAwC,CAAC,OAAO,EAAE,kBAAkB,GAAG,eAAe;IAgBtF,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAiBtD,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IASpD,4BAA4B,CAAC,cAAc,EAAE,MAAM,GAAG,iBAAiB;IAMvE,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIjD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGpC;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}
|
package/dist/src/lib/utils.js
CHANGED
|
@@ -54,6 +54,21 @@ class Utils {
|
|
|
54
54
|
}
|
|
55
55
|
return { address, amount };
|
|
56
56
|
}
|
|
57
|
+
getTransactionTypeFromTransactionPayload(payload) {
|
|
58
|
+
if (!(payload instanceof ts_sdk_1.TransactionPayloadEntryFunction)) {
|
|
59
|
+
throw new Error('Invalid Payload: Expected TransactionPayloadEntryFunction');
|
|
60
|
+
}
|
|
61
|
+
const entryFunction = payload.entryFunction;
|
|
62
|
+
const moduleIdentifier = entryFunction.module_name.name.identifier.trim();
|
|
63
|
+
switch (moduleIdentifier) {
|
|
64
|
+
case constants_1.APTOS_ACCOUNT_MODULE:
|
|
65
|
+
return sdk_core_1.TransactionType.Send;
|
|
66
|
+
case constants_1.FUNGIBLE_ASSET_MODULE:
|
|
67
|
+
return sdk_core_1.TransactionType.SendToken;
|
|
68
|
+
default:
|
|
69
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid transaction: unable to fetch transaction type ${moduleIdentifier}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
57
72
|
isValidRawTransaction(rawTransaction) {
|
|
58
73
|
try {
|
|
59
74
|
const signedTxn = this.deserializeSignedTransaction(rawTransaction);
|
|
@@ -92,4 +107,4 @@ class Utils {
|
|
|
92
107
|
exports.Utils = Utils;
|
|
93
108
|
const utils = new Utils();
|
|
94
109
|
exports.default = utils;
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLCtDQVE0QjtBQUM1QixtREFNOEI7QUFDOUIsMkNBQXVIO0FBQ3ZILGdFQUFxQztBQUVyQyxNQUFhLEtBQUs7SUFDaEIsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsOEJBQWtCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsK0JBQW1CLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQixDQUFDLEdBQVc7UUFDM0IsT0FBTyxJQUFBLGtDQUF1QixFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixPQUFPLElBQUEsa0NBQXVCLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixnQkFBZ0IsQ0FBQyxTQUFpQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLGdDQUFvQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixvQkFBb0IsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUscUNBQXlCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWEsRUFBRSxNQUFjO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLHVCQUF1QixNQUFNLElBQUksQ0FBQyxDQUFDO1FBQzVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxL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LENBQUM7SUFDckQsQ0FBQztJQUVELHNCQUFzQixDQUFDLFNBQWlCO1FBQ3RDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFHLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFhO1FBQ3hCLE9BQU8sSUFBSSxzQkFBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BELENBQUM7Q0FDRjtBQTlGRCxzQkE4RkM7QUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO0FBRTFCLGtCQUFlLEtBQUssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEF1dGhlbnRpY2F0aW9uS2V5LFxuICBEZXNlcmlhbGl6ZXIsXG4gIEVkMjU1MTlQdWJsaWNLZXksXG4gIEhleCxcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uUGF5bG9hZCxcbiAgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbixcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7XG4gIEJhc2VVdGlscyxcbiAgaXNWYWxpZEVkMjU1MTlQdWJsaWNLZXksXG4gIGlzVmFsaWRFZDI1NTE5U2VjcmV0S2V5LFxuICBQYXJzZVRyYW5zYWN0aW9uRXJyb3IsXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50LFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBBUFRfQUREUkVTU19MRU5HVEgsIEFQVF9CTE9DS19JRF9MRU5HVEgsIEFQVF9TSUdOQVRVUkVfTEVOR1RILCBBUFRfVFJBTlNBQ1RJT05fSURfTEVOR1RIIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuXG5leHBvcnQgY2xhc3MgVXRpbHMgaW1wbGVtZW50cyBCYXNlVXRpbHMge1xuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleChhZGRyZXNzLCBBUFRfQUREUkVTU19MRU5HVEgpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRCbG9ja0lkKGhhc2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRIZXgoaGFzaCwgQVBUX0JMT0NLX0lEX0xFTkdUSCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFByaXZhdGVLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNWYWxpZEVkMjU1MTlTZWNyZXRLZXkoa2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHVibGljS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzVmFsaWRFZDI1NTE5UHVibGljS2V5KGtleSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRIZXgoc2lnbmF0dXJlLCBBUFRfU0lHTkFUVVJFX0xFTkdUSCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleCh0eElkLCBBUFRfVFJBTlNBQ1RJT05fSURfTEVOR1RIKTtcbiAgfVxuXG4gIGlzVmFsaWRIZXgodmFsdWU6IHN0cmluZywgbGVuZ3RoOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoYF4oMHh8MFgpW2EtZkEtRjAtOV17JHtsZW5ndGh9fSRgKTtcbiAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZSk7XG4gIH1cblxuICBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJsaWNLZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYXB0b3NQdWJsaWNLZXkgPSBuZXcgRWQyNTUxOVB1YmxpY0tleShCdWZmZXIuZnJvbShwdWJsaWNLZXksICdoZXgnKSk7XG4gICAgY29uc3QgYXV0aEtleSA9IEF1dGhlbnRpY2F0aW9uS2V5LmZyb21QdWJsaWNLZXkoeyBwdWJsaWNLZXk6IGFwdG9zUHVibGljS2V5IH0pO1xuICAgIGNvbnN0IGFjY291bnRBZGRyZXNzID0gYXV0aEtleS5kZXJpdmVkQWRkcmVzcygpO1xuICAgIHJldHVybiBhY2NvdW50QWRkcmVzcy50b1N0cmluZygpO1xuICB9XG5cbiAgZ2V0UmVjaXBpZW50RnJvbVRyYW5zYWN0aW9uUGF5bG9hZChwYXlsb2FkOiBUcmFuc2FjdGlvblBheWxvYWQpOiBUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gICAgbGV0IGFkZHJlc3MgPSAnSU5WQUxJRCc7XG4gICAgbGV0IGFtb3VudCA9ICcwJztcbiAgICBpZiAocGF5bG9hZCBpbnN0YW5jZW9mIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24pIHtcbiAgICAgIGNvbnN0IGVudHJ5RnVuY3Rpb24gPSBwYXlsb2FkLmVudHJ5RnVuY3Rpb247XG4gICAgICBhZGRyZXNzID0gZW50cnlGdW5jdGlvbi5hcmdzWzBdLnRvU3RyaW5nKCk7XG4gICAgICBjb25zdCBhbW91bnRCdWZmZXIgPSBCdWZmZXIuZnJvbShlbnRyeUZ1bmN0aW9uLmFyZ3NbMV0uYmNzVG9CeXRlcygpKTtcbiAgICAgIGFtb3VudCA9IGFtb3VudEJ1ZmZlci5yZWFkQmlnVWludDY0TEUoKS50b1N0cmluZygpO1xuICAgIH1cbiAgICByZXR1cm4geyBhZGRyZXNzLCBhbW91bnQgfTtcbiAgfVxuXG4gIGlzVmFsaWRSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNpZ25lZFR4biA9IHRoaXMuZGVzZXJpYWxpemVTaWduZWRUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgICBjb25zdCByYXdUeG4gPSBzaWduZWRUeG4ucmF3X3R4bjtcbiAgICAgIGNvbnN0IHNlbmRlckFkZHJlc3MgPSByYXdUeG4uc2VuZGVyLnRvU3RyaW5nKCk7XG4gICAgICBjb25zdCByZWNpcGllbnQgPSB1dGlscy5nZXRSZWNpcGllbnRGcm9tVHJhbnNhY3Rpb25QYXlsb2FkKHJhd1R4bi5wYXlsb2FkKTtcbiAgICAgIGNvbnN0IHJlY2lwaWVudEFkZHJlc3MgPSByZWNpcGllbnQuYWRkcmVzcztcbiAgICAgIGNvbnN0IHJlY2lwaWVudEFtb3VudCA9IG5ldyBCaWdOdW1iZXIocmVjaXBpZW50LmFtb3VudCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLmlzVmFsaWRBZGRyZXNzKHNlbmRlckFkZHJlc3MpICYmIHRoaXMuaXNWYWxpZEFkZHJlc3MocmVjaXBpZW50QWRkcmVzcykgJiYgIXJlY2lwaWVudEFtb3VudC5pc0xlc3NUaGFuKDApXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJywgZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCFyYXdUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCByYXcgdHJhbnNhY3Rpb246IFVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuaXNWYWxpZFJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCByYXcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICBkZXNlcmlhbGl6ZVNpZ25lZFRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBTaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHhuQnl0ZXMgPSBIZXguZnJvbUhleFN0cmluZyhyYXdUcmFuc2FjdGlvbikudG9VaW50OEFycmF5KCk7XG4gICAgY29uc3QgZGVzZXJpYWxpemVyID0gbmV3IERlc2VyaWFsaXplcih0eG5CeXRlcyk7XG4gICAgcmV0dXJuIGRlc2VyaWFsaXplci5kZXNlcmlhbGl6ZShTaWduZWRUcmFuc2FjdGlvbik7XG4gIH1cblxuICBnZXRCdWZmZXJGcm9tSGV4U3RyaW5nKGhleFN0cmluZzogc3RyaW5nKTogQnVmZmVyIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oSGV4LmZyb21IZXhTdHJpbmcoaGV4U3RyaW5nKS50b1VpbnQ4QXJyYXkoKSk7XG4gIH1cblxuICBjYXN0VG9OdW1iZXIodmFsdWU6IGJpZ2ludCk6IG51bWJlciB7XG4gICAgcmV0dXJuIG5ldyBCaWdOdW1iZXIodmFsdWUudG9TdHJpbmcoKSkudG9OdW1iZXIoKTtcbiAgfVxufVxuXG5jb25zdCB1dGlscyA9IG5ldyBVdGlscygpO1xuXG5leHBvcnQgZGVmYXVsdCB1dGlscztcbiJdfQ==
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLCtDQVE0QjtBQUM1QixtREFROEI7QUFDOUIsMkNBT3FCO0FBQ3JCLGdFQUFxQztBQUVyQyxNQUFhLEtBQUs7SUFDaEIsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsOEJBQWtCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsK0JBQW1CLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQixDQUFDLEdBQVc7UUFDM0IsT0FBTyxJQUFBLGtDQUF1QixFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixPQUFPLElBQUEsa0NBQXVCLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixnQkFBZ0IsQ0FBQyxTQUFpQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLGdDQUFvQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixvQkFBb0IsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUscUNBQXlCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWEsRUFBRSxNQUFjO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLHVCQUF1QixNQUFNLElBQUksQ0FBQyxDQUFDO1FBQzVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsdUJBQXVCLENBQUMsU0FBaUI7UUFDdkMsTUFBTSxjQUFjLEdBQUcsSUFBSSx5QkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sT0FBTyxHQUFHLDBCQUFpQixDQUFDLGFBQWEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNoRCxPQUFPLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsa0NBQWtDLENBQUMsT0FBMkI7UUFDNUQsSUFBSSxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFJLE9BQU8sWUFBWSx3Q0FBK0IsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDNUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0MsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDckUsTUFBTSxHQUFHLFlBQVksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsd0NBQXdDLENBQUMsT0FBMkI7UUFDbEUsSUFBSSxDQUFDLENBQUMsT0FBTyxZQUFZLHdDQUErQixDQUFDLEVBQUUsQ0FBQztZQUMxRCxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDNUMsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUUsUUFBUSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3pCLEtBQUssZ0NBQW9CO2dCQUN2QixPQUFPLDBCQUFlLENBQUMsSUFBSSxDQUFDO1lBQzlCLEtBQUssaUNBQXFCO2dCQUN4QixPQUFPLDBCQUFlLENBQUMsU0FBUyxDQUFDO1lBQ25DO2dCQUNFLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx5REFBeUQsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ25ILENBQUM7SUFDSCxDQUFDO0lBRUQscUJBQXFCLENBQUMsY0FBc0I7UUFDMUMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDakMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMvQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsa0NBQWtDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNFLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUMzQyxNQUFNLGVBQWUsR0FBRyxJQUFJLHNCQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hELE9BQU8sQ0FDTCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQzlHLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELHNCQUFzQixDQUFDLGNBQXNCO1FBQzNDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksZ0NBQXFCLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ2hELE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDSCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsY0FBc0I7UUFDakQsTUFBTSxRQUFRLEdBQUcsWUFBRyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsRSxNQUFNLFlBQVksR0FBRyxJQUFJLHFCQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLDBCQUFpQixDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELHNCQUFzQixDQUFDLFNBQWlCO1FBQ3RDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFHLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFhO1FBQ3hCLE9BQU8sSUFBSSxzQkFBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BELENBQUM7Q0FDRjtBQTlHRCxzQkE4R0M7QUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO0FBRTFCLGtCQUFlLEtBQUssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEF1dGhlbnRpY2F0aW9uS2V5LFxuICBEZXNlcmlhbGl6ZXIsXG4gIEVkMjU1MTlQdWJsaWNLZXksXG4gIEhleCxcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uUGF5bG9hZCxcbiAgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbixcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7XG4gIEJhc2VVdGlscyxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIGlzVmFsaWRFZDI1NTE5UHVibGljS2V5LFxuICBpc1ZhbGlkRWQyNTUxOVNlY3JldEtleSxcbiAgUGFyc2VUcmFuc2FjdGlvbkVycm9yLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQge1xuICBBUFRfQUREUkVTU19MRU5HVEgsXG4gIEFQVF9CTE9DS19JRF9MRU5HVEgsXG4gIEFQVF9TSUdOQVRVUkVfTEVOR1RILFxuICBBUFRfVFJBTlNBQ1RJT05fSURfTEVOR1RILFxuICBBUFRPU19BQ0NPVU5UX01PRFVMRSxcbiAgRlVOR0lCTEVfQVNTRVRfTU9EVUxFLFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5cbmV4cG9ydCBjbGFzcyBVdGlscyBpbXBsZW1lbnRzIEJhc2VVdGlscyB7XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkSGV4KGFkZHJlc3MsIEFQVF9BRERSRVNTX0xFTkdUSCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZEJsb2NrSWQoaGFzaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleChoYXNoLCBBUFRfQkxPQ0tfSURfTEVOR1RIKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHJpdmF0ZUtleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkRWQyNTUxOVNlY3JldEtleShrZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRQdWJsaWNLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNWYWxpZEVkMjU1MTlQdWJsaWNLZXkoa2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkU2lnbmF0dXJlKHNpZ25hdHVyZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleChzaWduYXR1cmUsIEFQVF9TSUdOQVRVUkVfTEVOR1RIKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkSGV4KHR4SWQsIEFQVF9UUkFOU0FDVElPTl9JRF9MRU5HVEgpO1xuICB9XG5cbiAgaXNWYWxpZEhleCh2YWx1ZTogc3RyaW5nLCBsZW5ndGg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChgXigweHwwWClbYS1mQS1GMC05XXske2xlbmd0aH19JGApO1xuICAgIHJldHVybiByZWdleC50ZXN0KHZhbHVlKTtcbiAgfVxuXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YmxpY0tleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhcHRvc1B1YmxpY0tleSA9IG5ldyBFZDI1NTE5UHVibGljS2V5KEJ1ZmZlci5mcm9tKHB1YmxpY0tleSwgJ2hleCcpKTtcbiAgICBjb25zdCBhdXRoS2V5ID0gQXV0aGVudGljYXRpb25LZXkuZnJvbVB1YmxpY0tleSh7IHB1YmxpY0tleTogYXB0b3NQdWJsaWNLZXkgfSk7XG4gICAgY29uc3QgYWNjb3VudEFkZHJlc3MgPSBhdXRoS2V5LmRlcml2ZWRBZGRyZXNzKCk7XG4gICAgcmV0dXJuIGFjY291bnRBZGRyZXNzLnRvU3RyaW5nKCk7XG4gIH1cblxuICBnZXRSZWNpcGllbnRGcm9tVHJhbnNhY3Rpb25QYXlsb2FkKHBheWxvYWQ6IFRyYW5zYWN0aW9uUGF5bG9hZCk6IFRyYW5zYWN0aW9uUmVjaXBpZW50IHtcbiAgICBsZXQgYWRkcmVzcyA9ICdJTlZBTElEJztcbiAgICBsZXQgYW1vdW50ID0gJzAnO1xuICAgIGlmIChwYXlsb2FkIGluc3RhbmNlb2YgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbikge1xuICAgICAgY29uc3QgZW50cnlGdW5jdGlvbiA9IHBheWxvYWQuZW50cnlGdW5jdGlvbjtcbiAgICAgIGFkZHJlc3MgPSBlbnRyeUZ1bmN0aW9uLmFyZ3NbMF0udG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IGFtb3VudEJ1ZmZlciA9IEJ1ZmZlci5mcm9tKGVudHJ5RnVuY3Rpb24uYXJnc1sxXS5iY3NUb0J5dGVzKCkpO1xuICAgICAgYW1vdW50ID0gYW1vdW50QnVmZmVyLnJlYWRCaWdVaW50NjRMRSgpLnRvU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiB7IGFkZHJlc3MsIGFtb3VudCB9O1xuICB9XG5cbiAgZ2V0VHJhbnNhY3Rpb25UeXBlRnJvbVRyYW5zYWN0aW9uUGF5bG9hZChwYXlsb2FkOiBUcmFuc2FjdGlvblBheWxvYWQpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIGlmICghKHBheWxvYWQgaW5zdGFuY2VvZiBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFBheWxvYWQ6IEV4cGVjdGVkIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24nKTtcbiAgICB9XG4gICAgY29uc3QgZW50cnlGdW5jdGlvbiA9IHBheWxvYWQuZW50cnlGdW5jdGlvbjtcbiAgICBjb25zdCBtb2R1bGVJZGVudGlmaWVyID0gZW50cnlGdW5jdGlvbi5tb2R1bGVfbmFtZS5uYW1lLmlkZW50aWZpZXIudHJpbSgpO1xuICAgIHN3aXRjaCAobW9kdWxlSWRlbnRpZmllcikge1xuICAgICAgY2FzZSBBUFRPU19BQ0NPVU5UX01PRFVMRTpcbiAgICAgICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICAgICAgY2FzZSBGVU5HSUJMRV9BU1NFVF9NT0RVTEU6XG4gICAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZFRva2VuO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiB1bmFibGUgdG8gZmV0Y2ggdHJhbnNhY3Rpb24gdHlwZSAke21vZHVsZUlkZW50aWZpZXJ9YCk7XG4gICAgfVxuICB9XG5cbiAgaXNWYWxpZFJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2lnbmVkVHhuID0gdGhpcy5kZXNlcmlhbGl6ZVNpZ25lZFRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICAgIGNvbnN0IHJhd1R4biA9IHNpZ25lZFR4bi5yYXdfdHhuO1xuICAgICAgY29uc3Qgc2VuZGVyQWRkcmVzcyA9IHJhd1R4bi5zZW5kZXIudG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IHJlY2lwaWVudCA9IHV0aWxzLmdldFJlY2lwaWVudEZyb21UcmFuc2FjdGlvblBheWxvYWQocmF3VHhuLnBheWxvYWQpO1xuICAgICAgY29uc3QgcmVjaXBpZW50QWRkcmVzcyA9IHJlY2lwaWVudC5hZGRyZXNzO1xuICAgICAgY29uc3QgcmVjaXBpZW50QW1vdW50ID0gbmV3IEJpZ051bWJlcihyZWNpcGllbnQuYW1vdW50KTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuaXNWYWxpZEFkZHJlc3Moc2VuZGVyQWRkcmVzcykgJiYgdGhpcy5pc1ZhbGlkQWRkcmVzcyhyZWNpcGllbnRBZGRyZXNzKSAmJiAhcmVjaXBpZW50QW1vdW50LmlzTGVzc1RoYW4oMClcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcignaW52YWxpZCByYXcgdHJhbnNhY3Rpb24nLCBlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXJhd1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHJhdyB0cmFuc2FjdGlvbjogVW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5pc1ZhbGlkUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIGRlc2VyaWFsaXplU2lnbmVkVHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eG5CeXRlcyA9IEhleC5mcm9tSGV4U3RyaW5nKHJhd1RyYW5zYWN0aW9uKS50b1VpbnQ4QXJyYXkoKTtcbiAgICBjb25zdCBkZXNlcmlhbGl6ZXIgPSBuZXcgRGVzZXJpYWxpemVyKHR4bkJ5dGVzKTtcbiAgICByZXR1cm4gZGVzZXJpYWxpemVyLmRlc2VyaWFsaXplKFNpZ25lZFRyYW5zYWN0aW9uKTtcbiAgfVxuXG4gIGdldEJ1ZmZlckZyb21IZXhTdHJpbmcoaGV4U3RyaW5nOiBzdHJpbmcpOiBCdWZmZXIge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShIZXguZnJvbUhleFN0cmluZyhoZXhTdHJpbmcpLnRvVWludDhBcnJheSgpKTtcbiAgfVxuXG4gIGNhc3RUb051bWJlcih2YWx1ZTogYmlnaW50KTogbnVtYmVyIHtcbiAgICByZXR1cm4gbmV3IEJpZ051bWJlcih2YWx1ZS50b1N0cmluZygpKS50b051bWJlcigpO1xuICB9XG59XG5cbmNvbnN0IHV0aWxzID0gbmV3IFV0aWxzKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHV0aWxzO1xuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-apt",
|
|
3
|
-
"version": "1.0.1-beta.
|
|
3
|
+
"version": "1.0.1-beta.104",
|
|
4
4
|
"description": "BitGo SDK coin library for APT (Aptos) coin",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -41,15 +41,15 @@
|
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@aptos-labs/ts-sdk": "1.33.1",
|
|
44
|
-
"@bitgo-beta/sdk-core": "8.2.1-beta.
|
|
45
|
-
"@bitgo-beta/statics": "15.1.1-beta.
|
|
44
|
+
"@bitgo-beta/sdk-core": "8.2.1-beta.664",
|
|
45
|
+
"@bitgo-beta/statics": "15.1.1-beta.667",
|
|
46
46
|
"bignumber.js": "^9.1.2",
|
|
47
47
|
"lodash": "^4.17.21"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@bitgo-beta/sdk-api": "1.10.1-beta.
|
|
51
|
-
"@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.
|
|
50
|
+
"@bitgo-beta/sdk-api": "1.10.1-beta.663",
|
|
51
|
+
"@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.656",
|
|
52
52
|
"@bitgo-beta/sdk-test": "^8.0.67"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "f912d7ec604181a8a2c00b2ff15fa3e054096e0f"
|
|
55
55
|
}
|