@bitgo/sdk-coin-apt 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/src/aptToken.d.ts +1 -1
- package/dist/src/aptToken.d.ts.map +1 -1
- package/dist/src/aptToken.js +3 -3
- package/dist/src/lib/constants.d.ts +7 -2
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +9 -4
- package/dist/src/lib/iface.d.ts +2 -1
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/index.d.ts +6 -2
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +12 -4
- package/dist/src/lib/transaction/digitalAssetTransfer.d.ts +9 -0
- package/dist/src/lib/transaction/digitalAssetTransfer.d.ts.map +1 -0
- package/dist/src/lib/transaction/digitalAssetTransfer.js +58 -0
- package/dist/src/lib/transaction/fungibleAssetTransfer.d.ts +9 -0
- package/dist/src/lib/transaction/fungibleAssetTransfer.d.ts.map +1 -0
- package/dist/src/lib/transaction/fungibleAssetTransfer.js +59 -0
- package/dist/src/lib/transaction/transaction.d.ts +10 -4
- package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/transaction.js +58 -1
- package/dist/src/lib/transaction/transferTransaction.d.ts +4 -6
- package/dist/src/lib/transaction/transferTransaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/transferTransaction.js +18 -53
- package/dist/src/lib/transactionBuilder/digitalAssetTransferBuilder.d.ts +14 -0
- package/dist/src/lib/transactionBuilder/digitalAssetTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder/digitalAssetTransferBuilder.js +55 -0
- package/dist/src/lib/transactionBuilder/fungibleAssetTransferBuilder.d.ts +14 -0
- package/dist/src/lib/transactionBuilder/fungibleAssetTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder/fungibleAssetTransferBuilder.js +61 -0
- package/dist/src/lib/{transactionBuilder.d.ts → transactionBuilder/transactionBuilder.d.ts} +18 -10
- package/dist/src/lib/transactionBuilder/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder/transactionBuilder.js +147 -0
- package/dist/src/lib/transactionBuilder/transferBuilder.d.ts +12 -0
- package/dist/src/lib/transactionBuilder/transferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder/transferBuilder.js +55 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +8 -2
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +22 -3
- package/dist/src/lib/utils.d.ts +1 -4
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +10 -39
- package/package.json +6 -6
- package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilder.js +0 -115
- package/dist/src/lib/transferBuilder.d.ts +0 -20
- package/dist/src/lib/transferBuilder.d.ts.map +0 -1
- package/dist/src/lib/transferBuilder.js +0 -37
|
@@ -18,6 +18,7 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
18
18
|
this._expirationTime = Math.floor(Date.now() / 1e3) + constants_1.SECONDS_PER_WEEK;
|
|
19
19
|
this._sequenceNumber = 0;
|
|
20
20
|
this._sender = ts_sdk_1.AccountAddress.ZERO.toString();
|
|
21
|
+
this._assetId = ts_sdk_1.AccountAddress.ZERO.toString();
|
|
21
22
|
this._senderSignature = {
|
|
22
23
|
publicKey: {
|
|
23
24
|
pub: ts_sdk_1.Hex.fromHexInput(Transaction.EMPTY_PUBLIC_KEY).toString(),
|
|
@@ -85,6 +86,37 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
85
86
|
set transactionType(transactionType) {
|
|
86
87
|
this._type = transactionType;
|
|
87
88
|
}
|
|
89
|
+
get assetId() {
|
|
90
|
+
return this._assetId;
|
|
91
|
+
}
|
|
92
|
+
set assetId(value) {
|
|
93
|
+
this._assetId = value;
|
|
94
|
+
}
|
|
95
|
+
fromDeserializedSignedTransaction(signedTxn) {
|
|
96
|
+
try {
|
|
97
|
+
const rawTxn = signedTxn.raw_txn;
|
|
98
|
+
this.parseTransactionPayload(rawTxn.payload);
|
|
99
|
+
this._sender = rawTxn.sender.toString();
|
|
100
|
+
this._sequenceNumber = utils_1.default.castToNumber(rawTxn.sequence_number);
|
|
101
|
+
this._maxGasAmount = utils_1.default.castToNumber(rawTxn.max_gas_amount);
|
|
102
|
+
this._gasUnitPrice = utils_1.default.castToNumber(rawTxn.gas_unit_price);
|
|
103
|
+
this._expirationTime = utils_1.default.castToNumber(rawTxn.expiration_timestamp_secs);
|
|
104
|
+
this._rawTransaction = rawTxn;
|
|
105
|
+
this.loadInputsAndOutputs();
|
|
106
|
+
const authenticator = signedTxn.authenticator;
|
|
107
|
+
this._feePayerAddress = authenticator.fee_payer.address.toString();
|
|
108
|
+
const senderAuthenticator = authenticator.sender;
|
|
109
|
+
const senderSignature = Buffer.from(senderAuthenticator.signature.toUint8Array());
|
|
110
|
+
this.addSenderSignature({ pub: senderAuthenticator.public_key.toString() }, senderSignature);
|
|
111
|
+
const feePayerAuthenticator = authenticator.fee_payer.authenticator;
|
|
112
|
+
const feePayerSignature = Buffer.from(feePayerAuthenticator.signature.toUint8Array());
|
|
113
|
+
this.addFeePayerSignature({ pub: feePayerAuthenticator.public_key.toString() }, feePayerSignature);
|
|
114
|
+
}
|
|
115
|
+
catch (e) {
|
|
116
|
+
console.error('invalid signed transaction', e);
|
|
117
|
+
throw new Error('invalid signed transaction');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
88
120
|
canSign(_key) {
|
|
89
121
|
return false;
|
|
90
122
|
}
|
|
@@ -144,6 +176,17 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
144
176
|
},
|
|
145
177
|
];
|
|
146
178
|
}
|
|
179
|
+
fromRawTransaction(rawTransaction) {
|
|
180
|
+
let signedTxn;
|
|
181
|
+
try {
|
|
182
|
+
signedTxn = utils_1.default.deserializeSignedTransaction(rawTransaction);
|
|
183
|
+
}
|
|
184
|
+
catch (e) {
|
|
185
|
+
console.error('invalid raw transaction', e);
|
|
186
|
+
throw new Error('invalid raw transaction');
|
|
187
|
+
}
|
|
188
|
+
this.fromDeserializedSignedTransaction(signedTxn);
|
|
189
|
+
}
|
|
147
190
|
/**
|
|
148
191
|
* Deserializes a signed transaction hex string
|
|
149
192
|
* @param {string} signedRawTransaction
|
|
@@ -158,6 +201,20 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
158
201
|
throw new Error('invalid raw transaction');
|
|
159
202
|
}
|
|
160
203
|
}
|
|
204
|
+
toJson() {
|
|
205
|
+
return {
|
|
206
|
+
id: this.id,
|
|
207
|
+
sender: this.sender,
|
|
208
|
+
recipient: this.recipient,
|
|
209
|
+
sequenceNumber: this.sequenceNumber,
|
|
210
|
+
maxGasAmount: this.maxGasAmount,
|
|
211
|
+
gasUnitPrice: this.gasUnitPrice,
|
|
212
|
+
gasUsed: this.gasUsed,
|
|
213
|
+
expirationTime: this.expirationTime,
|
|
214
|
+
feePayer: this.feePayerAddress,
|
|
215
|
+
assetId: this.assetId,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
161
218
|
getFee() {
|
|
162
219
|
return new bignumber_js_1.default(this.gasUsed).multipliedBy(this.gasUnitPrice).toString();
|
|
163
220
|
}
|
|
@@ -220,4 +277,4 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
220
277
|
exports.Transaction = Transaction;
|
|
221
278
|
Transaction.EMPTY_PUBLIC_KEY = Buffer.alloc(32);
|
|
222
279
|
Transaction.EMPTY_SIGNATURE = Buffer.alloc(64);
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQVF5QjtBQUV6QiwrQ0FnQjRCO0FBQzVCLDRDQUEwRjtBQUMxRixxREFBNkI7QUFDN0IsZ0VBQXFDO0FBR3JDLE1BQXNCLFdBQVksU0FBUSwwQkFBZTtJQWdCdkQsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRywrQkFBc0IsQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLGtDQUFzQixDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsNEJBQWdCLENBQUM7UUFDdkUsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyx1QkFBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUc7WUFDdEIsU0FBUyxFQUFFO2dCQUNULEdBQUcsRUFBRSxZQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTthQUMvRDtZQUNELFNBQVMsRUFBRSxXQUFXLENBQUMsZUFBZTtTQUN2QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLHVCQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxrQkFBa0IsR0FBRztZQUN4QixTQUFTLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFLFlBQUcsQ0FBQyxZQUFZLENBQUMs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cUJBQXFCLEdBQUcsSUFBSSxvQ0FBMkIsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBQSxvQ0FBMkIsRUFBQyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDdEcsQ0FBQzs7QUE3UUgsa0NBOFFDO0FBalFRLDRCQUFnQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDcEMsMkJBQWUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgUHVibGljS2V5LFxuICBTaWduYXR1cmUsXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50LFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgQWNjb3VudEFkZHJlc3MsXG4gIEFjY291bnRBdXRoZW50aWNhdG9yRWQyNTUxOSxcbiAgREVGQVVMVF9NQVhfR0FTX0FNT1VOVCxcbiAgRWQyNTUxOVB1YmxpY0tleSxcbiAgRWQyNTUxOVNpZ25hdHVyZSxcbiAgRmVlUGF5ZXJSYXdUcmFuc2FjdGlvbixcbiAgZ2VuZXJhdGVTaWduaW5nTWVzc2FnZSxcbiAgZ2VuZXJhdGVVc2VyVHJhbnNhY3Rpb25IYXNoLFxuICBIZXgsXG4gIFJBV19UUkFOU0FDVElPTl9TQUxULFxuICBSQVdfVFJBTlNBQ1RJT05fV0lUSF9EQVRBX1NBTFQsXG4gIFJhd1RyYW5zYWN0aW9uLFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgU2ltcGxlVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uQXV0aGVudGljYXRvckZlZVBheWVyLFxufSBmcm9tICdAYXB0b3MtbGFicy90cy1zZGsnO1xuaW1wb3J0IHsgREVGQVVMVF9HQVNfVU5JVF9QUklDRSwgU0VDT05EU19QRVJfV0VFSywgVU5BVkFJTEFCTEVfVEVYVCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgQXB0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB9IGZyb20gJy4uL2lmYWNlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uIHtcbiAgcHJvdGVjdGVkIF9yYXdUcmFuc2FjdGlvbjogUmF3VHJhbnNhY3Rpb247XG4gIHByb3RlY3RlZCBfc2VuZGVyU2lnbmF0dXJlOiBTaWduYXR1cmU7XG4gIHByb3RlY3RlZCBfZmVlUGF5ZXJTaWduYXR1cmU6IFNpZ25hdHVyZTtcbiAgcHJvdGVjdGVkIF9zZW5kZXI6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9yZWNpcGllbnQ6IFRyYW5zYWN0aW9uUmVjaXBpZW50O1xuICBwcm90ZWN0ZWQgX3NlcXVlbmNlTnVtYmVyOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfbWF4R2FzQW1vdW50OiBudW1iZXI7XG4gIHByb3RlY3RlZCBfZ2FzVW5pdFByaWNlOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfZ2FzVXNlZDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2V4cGlyYXRpb25UaW1lOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfZmVlUGF5ZXJBZGRyZXNzOiBzdHJpbmc7XG5cbiAgc3RhdGljIEVNUFRZX1BVQkxJQ19LRVkgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICBzdGF0aWMgRU1QVFlfU0lHTkFUVVJFID0gQnVmZmVyLmFsbG9jKDY0KTtcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICAgIHRoaXMuX21heEdhc0Ftb3VudCA9IERFRkFVTFRfTUFYX0dBU19BTU9VTlQ7XG4gICAgdGhpcy5fZ2FzVW5pdFByaWNlID0gREVGQVVMVF9HQVNfVU5JVF9QUklDRTtcbiAgICB0aGlzLl9nYXNVc2VkID0gMDtcbiAgICB0aGlzLl9leHBpcmF0aW9uVGltZSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDFlMykgKyBTRUNPTkRTX1BFUl9XRUVLO1xuICAgIHRoaXMuX3NlcXVlbmNlTnVtYmVyID0gMDtcbiAgICB0aGlzLl9zZW5kZXIgPSBBY2NvdW50QWRkcmVzcy5aRVJPLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5fc2VuZGVyU2lnbmF0dXJlID0ge1xuICAgICAgcHVibGljS2V5OiB7XG4gICAgICAgIHB1YjogSGV4LmZyb21IZXhJbnB1dChUcmFuc2FjdGlvbi5FTVBUWV9QVUJMSUNfS0VZKS50b1N0cmluZygpLFxuICAgICAgfSxcbiAgICAgIHNpZ25hdHVyZTogVHJhbnNhY3Rpb24uRU1QVFlfU0lHTkFUVVJFLFxuICAgIH07XG4gICAgdGhpcy5fZmVlUGF5ZXJBZGRyZXNzID0gQWNjb3VudEFkZHJlc3MuWkVSTy50b1N0cmluZygpO1xuICAgIHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlID0ge1xuICAgICAgcHVibGljS2V5OiB7XG4gICAgICAgIHB1YjogSGV4LmZyb21IZXhJbnB1dChUcmFuc2FjdGlvbi5FTVBUWV9QVUJMSUNfS0VZKS50b1N0cmluZygpLFxuICAgICAgfSxcbiAgICAgIHNpZ25hdHVyZTogVHJhbnNhY3Rpb24uRU1QVFlfU0lHTkFUVVJFLFxuICAgIH07XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICB0aGlzLmdlbmVyYXRlVHhuSWQoKTtcbiAgICByZXR1cm4gdGhpcy5faWQgPz8gVU5BVkFJTEFCTEVfVEVYVDtcbiAgfVxuXG4gIGdldCBzZW5kZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZGVyO1xuICB9XG5cbiAgc2V0IHNlbmRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2VuZGVyID0gdmFsdWU7XG4gIH1cblxuICBnZXQgcmVjaXBpZW50KCk6IFRyYW5zYWN0aW9uUmVjaXBpZW50IHtcbiAgICByZXR1cm4gdGhpcy5fcmVjaXBpZW50O1xuICB9XG5cbiAgc2V0IHJlY2lwaWVudCh2YWx1ZTogVHJhbnNhY3Rpb25SZWNpcGllbnQpIHtcbiAgICB0aGlzLl9yZWNpcGllbnQgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBzZXF1ZW5jZU51bWJlcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZXF1ZW5jZU51bWJlcjtcbiAgfVxuXG4gIHNldCBzZXF1ZW5jZU51bWJlcih2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fc2VxdWVuY2VOdW1iZXIgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBtYXhHYXNBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4R2FzQW1vdW50O1xuICB9XG5cbiAgc2V0IG1heEdhc0Ftb3VudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWF4R2FzQW1vdW50ID0gdmFsdWU7XG4gIH1cblxuICBnZXQgZ2FzVW5pdFByaWNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2dhc1VuaXRQcmljZTtcbiAgfVxuXG4gIHNldCBnYXNVbml0UHJpY2UodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2dhc1VuaXRQcmljZSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGdhc1VzZWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZ2FzVXNlZDtcbiAgfVxuXG4gIHNldCBnYXNVc2VkKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9nYXNVc2VkID0gdmFsdWU7XG4gIH1cblxuICBnZXQgZXhwaXJhdGlvblRpbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZXhwaXJhdGlvblRpbWU7XG4gIH1cblxuICBzZXQgZXhwaXJhdGlvblRpbWUodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lID0gdmFsdWU7XG4gIH1cblxuICBnZXQgZmVlUGF5ZXJBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlZVBheWVyQWRkcmVzcztcbiAgfVxuXG4gIHNldCB0cmFuc2FjdGlvblR5cGUodHJhbnNhY3Rpb25UeXBlOiBUcmFuc2FjdGlvblR5cGUpIHtcbiAgICB0aGlzLl90eXBlID0gdHJhbnNhY3Rpb25UeXBlO1xuICB9XG5cbiAgY2FuU2lnbihfa2V5OiBCYXNlS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdG9Ccm9hZGNhc3RGb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX3Jhd1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZSgpO1xuICB9XG5cbiAgc2VyaWFsaXplKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VuZGVyUHVibGljS2V5QnVmZmVyID0gdXRpbHMuZ2V0QnVmZmVyRnJvbUhleFN0cmluZyh0aGlzLl9zZW5kZXJTaWduYXR1cmUucHVibGljS2V5LnB1Yik7XG4gICAgY29uc3Qgc2VuZGVyUHVibGljS2V5ID0gbmV3IEVkMjU1MTlQdWJsaWNLZXkoc2VuZGVyUHVibGljS2V5QnVmZmVyKTtcblxuICAgIGNvbnN0IHNlbmRlclNpZ25hdHVyZSA9IG5ldyBFZDI1NTE5U2lnbmF0dXJlKHRoaXMuX3NlbmRlclNpZ25hdHVyZS5zaWduYXR1cmUpO1xuICAgIGNvbnN0IHNlbmRlckF1dGhlbnRpY2F0b3IgPSBuZXcgQWNjb3VudEF1dGhlbnRpY2F0b3JFZDI1NTE5KHNlbmRlclB1YmxpY0tleSwgc2VuZGVyU2lnbmF0dXJlKTtcblxuICAgIGNvbnN0IGZlZVBheWVyUHVibGljS2V5QnVmZmVyID0gdXRpbHMuZ2V0QnVmZmVyRnJvbUhleFN0cmluZyh0aGlzLl9mZWVQYXllclNpZ25hdHVyZS5wdWJsaWNLZXkucHViKTtcbiAgICBjb25zdCBmZWVQYXllclB1YmxpY0tleSA9IG5ldyBFZDI1NTE5UHVibGljS2V5KGZlZVBheWVyUHVibGljS2V5QnVmZmVyKTtcblxuICAgIGNvbnN0IGZlZVBheWVyU2lnbmF0dXJlID0gbmV3IEVkMjU1MTlTaWduYXR1cmUodGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUuc2lnbmF0dXJlKTtcbiAgICBjb25zdCBmZWVQYXllckF1dGhlbnRpY2F0b3IgPSBuZXcgQWNjb3VudEF1dGhlbnRpY2F0b3JFZDI1NTE5KGZlZVBheWVyUHVibGljS2V5LCBmZWVQYXllclNpZ25hdHVyZSk7XG5cbiAgICBjb25zdCB0eG5BdXRoZW50aWNhdG9yID0gbmV3IFRyYW5zYWN0aW9uQXV0aGVudGljYXRvckZlZVBheWVyKHNlbmRlckF1dGhlbnRpY2F0b3IsIFtdLCBbXSwge1xuICAgICAgYWRkcmVzczogQWNjb3VudEFkZHJlc3MuZnJvbVN0cmluZyh0aGlzLl9mZWVQYXllckFkZHJlc3MpLFxuICAgICAgYXV0aGVudGljYXRvcjogZmVlUGF5ZXJBdXRoZW50aWNhdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2lnbmVkVHhuID0gbmV3IFNpZ25lZFRyYW5zYWN0aW9uKHRoaXMuX3Jhd1RyYW5zYWN0aW9uLCB0eG5BdXRoZW50aWNhdG9yKTtcbiAgICByZXR1cm4gc2lnbmVkVHhuLnRvU3RyaW5nKCk7XG4gIH1cblxuICBhZGRTZW5kZXJTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhpcy5fc2lnbmF0dXJlcyA9IFtzaWduYXR1cmUudG9TdHJpbmcoJ2hleCcpXTtcbiAgICB0aGlzLl9zZW5kZXJTaWduYXR1cmUgPSB7IHB1YmxpY0tleSwgc2lnbmF0dXJlIH07XG4gIH1cblxuICBnZXRGZWVQYXllclB1YktleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mZWVQYXllclNpZ25hdHVyZS5wdWJsaWNLZXkucHViO1xuICB9XG5cbiAgYWRkRmVlUGF5ZXJTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUgPSB7IHB1YmxpY0tleSwgc2lnbmF0dXJlIH07XG4gIH1cblxuICBhZGRGZWVQYXllckFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fZmVlUGF5ZXJBZGRyZXNzID0gYWRkcmVzcztcbiAgfVxuXG4gIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuYnVpbGRSYXdUcmFuc2FjdGlvbigpO1xuICAgIHRoaXMuZ2VuZXJhdGVUeG5JZCgpO1xuICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgfVxuXG4gIGxvYWRJbnB1dHNBbmRPdXRwdXRzKCk6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0cyA9IFtcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzczogdGhpcy5zZW5kZXIsXG4gICAgICAgIHZhbHVlOiB0aGlzLnJlY2lwaWVudC5hbW91bnQgYXMgc3RyaW5nLFxuICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICB9LFxuICAgIF07XG4gICAgdGhpcy5fb3V0cHV0cyA9IFtcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzczogdGhpcy5yZWNpcGllbnQuYWRkcmVzcyxcbiAgICAgICAgdmFsdWU6IHRoaXMucmVjaXBpZW50LmFtb3VudCBhcyBzdHJpbmcsXG4gICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIGFic3RyYWN0IGZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZDtcblxuICAvKipcbiAgICogRGVzZXJpYWxpemVzIGEgc2lnbmVkIHRyYW5zYWN0aW9uIGhleCBzdHJpbmdcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNpZ25lZFJhd1RyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zIHtTaWduZWRUcmFuc2FjdGlvbn0gdGhlIGFwdG9zIHNpZ25lZCB0cmFuc2FjdGlvblxuICAgKi9cbiAgc3RhdGljIGRlc2VyaWFsaXplU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkUmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHV0aWxzLmRlc2VyaWFsaXplU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkUmF3VHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJywgZSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJ1aWxkUmF3VHJhbnNhY3Rpb24oKTogdm9pZDtcblxuICBwdWJsaWMgZ2V0RmVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBCaWdOdW1iZXIodGhpcy5nYXNVc2VkKS5tdWx0aXBsaWVkQnkodGhpcy5nYXNVbml0UHJpY2UpLnRvU3RyaW5nKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpZ25hYmxlUGF5bG9hZCgpOiBCdWZmZXIge1xuICAgIHJldHVybiB0aGlzLmZlZVBheWVyQWRkcmVzcyA/IHRoaXMuZ2V0U2lnbmFibGVQYXlsb2FkV2l0aEZlZVBheWVyKCkgOiB0aGlzLmdldFNpZ25hYmxlUGF5bG9hZFdpdGhvdXRGZWVQYXllcigpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGV4cGxhaW5UcmFuc2FjdGlvbigpOiBBcHRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCBkaXNwbGF5T3JkZXIgPSBbXG4gICAgICAnaWQnLFxuICAgICAgJ291dHB1dHMnLFxuICAgICAgJ291dHB1dEFtb3VudCcsXG4gICAgICAnY2hhbmdlT3V0cHV0cycsXG4gICAgICAnY2hhbmdlQW1vdW50JyxcbiAgICAgICdmZWUnLFxuICAgICAgJ3dpdGhkcmF3QW1vdW50JyxcbiAgICAgICdzZW5kZXInLFxuICAgICAgJ3R5cGUnLFxuICAgIF07XG5cbiAgICBjb25zdCBvdXRwdXRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdID0gW3RoaXMucmVjaXBpZW50XTtcbiAgICBjb25zdCBvdXRwdXRBbW91bnQgPSBvdXRwdXRzWzBdLmFtb3VudDtcbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheU9yZGVyLFxuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBvdXRwdXRzLFxuICAgICAgb3V0cHV0QW1vdW50LFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICAgIGZlZTogeyBmZWU6IHRoaXMuZ2V0RmVlKCkgfSxcbiAgICAgIHNlbmRlcjogdGhpcy5zZW5kZXIsXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2lnbmFibGVQYXlsb2FkV2l0aEZlZVBheWVyKCk6IEJ1ZmZlciB7XG4gICAgY29uc3QgZmVlUGF5ZXJSYXdUeG4gPSBuZXcgRmVlUGF5ZXJSYXdUcmFuc2FjdGlvbihcbiAgICAgIHRoaXMuX3Jhd1RyYW5zYWN0aW9uLFxuICAgICAgW10sXG4gICAgICBBY2NvdW50QWRkcmVzcy5mcm9tU3RyaW5nKHRoaXMuX2ZlZVBheWVyQWRkcmVzcylcbiAgICApO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShnZW5lcmF0ZVNpZ25pbmdNZXNzYWdlKGZlZVBheWVyUmF3VHhuLmJjc1RvQnl0ZXMoKSwgUkFXX1RSQU5TQUNUSU9OX1dJVEhfREFUQV9TQUxUKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFNpZ25hYmxlUGF5bG9hZFdpdGhvdXRGZWVQYXllcigpOiBCdWZmZXIge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShnZW5lcmF0ZVNpZ25pbmdNZXNzYWdlKHRoaXMuX3Jhd1RyYW5zYWN0aW9uLmJjc1RvQnl0ZXMoKSwgUkFXX1RSQU5TQUNUSU9OX1NBTFQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVUeG5JZCgpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fc2VuZGVyU2lnbmF0dXJlIHx8XG4gICAgICAhdGhpcy5fc2VuZGVyU2lnbmF0dXJlLnB1YmxpY0tleSB8fFxuICAgICAgIXRoaXMuX3NlbmRlclNpZ25hdHVyZS5zaWduYXR1cmUgfHxcbiAgICAgICF0aGlzLl9mZWVQYXllclNpZ25hdHVyZSB8fFxuICAgICAgIXRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlLnB1YmxpY0tleSB8fFxuICAgICAgIXRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlLnNpZ25hdHVyZVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IG5ldyBTaW1wbGVUcmFuc2FjdGlvbih0aGlzLl9yYXdUcmFuc2FjdGlvbik7XG4gICAgY29uc3Qgc2VuZGVyUHVibGljS2V5ID0gbmV3IEVkMjU1MTlQdWJsaWNLZXkodXRpbHMuZ2V0QnVmZmVyRnJvbUhleFN0cmluZyh0aGlzLl9zZW5kZXJTaWduYXR1cmUucHVibGljS2V5LnB1YikpO1xuICAgIGNvbnN0IHNlbmRlclNpZ25hdHVyZSA9IG5ldyBFZDI1NTE5U2lnbmF0dXJlKHRoaXMuX3NlbmRlclNpZ25hdHVyZS5zaWduYXR1cmUpO1xuICAgIGNvbnN0IHNlbmRlckF1dGhlbnRpY2F0b3IgPSBuZXcgQWNjb3VudEF1dGhlbnRpY2F0b3JFZDI1NTE5KHNlbmRlclB1YmxpY0tleSwgc2VuZGVyU2lnbmF0dXJlKTtcbiAgICBjb25zdCBmZWVQYXllclB1YmxpY0tleSA9IG5ldyBFZDI1NTE5UHVibGljS2V5KHV0aWxzLmdldEJ1ZmZlckZyb21IZXhTdHJpbmcodGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUucHVibGljS2V5LnB1YikpO1xuICAgIGNvbnN0IGZlZVBheWVyU2lnbmF0dXJlID0gbmV3IEVkMjU1MTlTaWduYXR1cmUodGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUuc2lnbmF0dXJlKTtcbiAgICBjb25zdCBmZWVQYXllckF1dGhlbnRpY2F0b3IgPSBuZXcgQWNjb3VudEF1dGhlbnRpY2F0b3JFZDI1NTE5KGZlZVBheWVyUHVibGljS2V5LCBmZWVQYXllclNpZ25hdHVyZSk7XG4gICAgdGhpcy5faWQgPSBnZW5lcmF0ZVVzZXJUcmFuc2FjdGlvbkhhc2goeyB0cmFuc2FjdGlvbiwgc2VuZGVyQXV0aGVudGljYXRvciwgZmVlUGF5ZXJBdXRoZW50aWNhdG9yIH0pO1xuICB9XG59XG4iXX0=
|
|
280
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQVF5QjtBQUV6QiwrQ0FpQjRCO0FBQzVCLDRDQUEwRjtBQUMxRixxREFBNkI7QUFDN0IsZ0VBQXFDO0FBR3JDLE1BQXNCLFdBQVksU0FBUSwwQkFBZTtJQWlCdkQsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRywrQkFBc0IsQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLGtDQUFzQixDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsNEJBQWdCLENBQUM7UUFDdkUsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyx1QkFBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLHVCQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRztZQUN0QixTQUFTLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFLFlBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFO2FBQy9EO1lBQ0QsU0FBUyxFQUFFLFdBQVcsQ0FBQyxlQUFlO1NBQ3ZDLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsdUJBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGtC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QUFlLEdBQUcsSUFBSSx5QkFBZ0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLG9DQUEyQixDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUM5RixNQUFNLGlCQUFpQixHQUFHLElBQUkseUJBQWdCLENBQUMsZUFBSyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwSCxNQUFNLGlCQUFpQixHQUFHLElBQUkseUJBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxvQ0FBMkIsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBQSxvQ0FBMkIsRUFBQyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDdEcsQ0FBQzs7QUEzVUgsa0NBNFVDO0FBOVRRLDRCQUFnQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDcEMsMkJBQWUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgUHVibGljS2V5LFxuICBTaWduYXR1cmUsXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50LFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgQWNjb3VudEFkZHJlc3MsXG4gIEFjY291bnRBdXRoZW50aWNhdG9yRWQyNTUxOSxcbiAgREVGQVVMVF9NQVhfR0FTX0FNT1VOVCxcbiAgRWQyNTUxOVB1YmxpY0tleSxcbiAgRWQyNTUxOVNpZ25hdHVyZSxcbiAgRmVlUGF5ZXJSYXdUcmFuc2FjdGlvbixcbiAgZ2VuZXJhdGVTaWduaW5nTWVzc2FnZSxcbiAgZ2VuZXJhdGVVc2VyVHJhbnNhY3Rpb25IYXNoLFxuICBIZXgsXG4gIFJBV19UUkFOU0FDVElPTl9TQUxULFxuICBSQVdfVFJBTlNBQ1RJT05fV0lUSF9EQVRBX1NBTFQsXG4gIFJhd1RyYW5zYWN0aW9uLFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgU2ltcGxlVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uQXV0aGVudGljYXRvckZlZVBheWVyLFxuICBUcmFuc2FjdGlvblBheWxvYWQsXG59IGZyb20gJ0BhcHRvcy1sYWJzL3RzLXNkayc7XG5pbXBvcnQgeyBERUZBVUxUX0dBU19VTklUX1BSSUNFLCBTRUNPTkRTX1BFUl9XRUVLLCBVTkFWQUlMQUJMRV9URVhUIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB1dGlscyBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBBcHRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLCBUeERhdGEgfSBmcm9tICcuLi9pZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbiB7XG4gIHByb3RlY3RlZCBfcmF3VHJhbnNhY3Rpb246IFJhd1RyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgX3NlbmRlclNpZ25hdHVyZTogU2lnbmF0dXJlO1xuICBwcm90ZWN0ZWQgX2ZlZVBheWVyU2lnbmF0dXJlOiBTaWduYXR1cmU7XG4gIHByb3RlY3RlZCBfc2VuZGVyOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfcmVjaXBpZW50OiBUcmFuc2FjdGlvblJlY2lwaWVudDtcbiAgcHJvdGVjdGVkIF9zZXF1ZW5jZU51bWJlcjogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX21heEdhc0Ftb3VudDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2dhc1VuaXRQcmljZTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2dhc1VzZWQ6IG51bWJlcjtcbiAgcHJvdGVjdGVkIF9leHBpcmF0aW9uVGltZTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2ZlZVBheWVyQWRkcmVzczogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2Fzc2V0SWQ6IHN0cmluZztcblxuICBzdGF0aWMgRU1QVFlfUFVCTElDX0tFWSA9IEJ1ZmZlci5hbGxvYygzMik7XG4gIHN0YXRpYyBFTVBUWV9TSUdOQVRVUkUgPSBCdWZmZXIuYWxsb2MoNjQpO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fbWF4R2FzQW1vdW50ID0gREVGQVVMVF9NQVhfR0FTX0FNT1VOVDtcbiAgICB0aGlzLl9nYXNVbml0UHJpY2UgPSBERUZBVUxUX0dBU19VTklUX1BSSUNFO1xuICAgIHRoaXMuX2dhc1VzZWQgPSAwO1xuICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMWUzKSArIFNFQ09ORFNfUEVSX1dFRUs7XG4gICAgdGhpcy5fc2VxdWVuY2VOdW1iZXIgPSAwO1xuICAgIHRoaXMuX3NlbmRlciA9IEFjY291bnRBZGRyZXNzLlpFUk8udG9TdHJpbmcoKTtcbiAgICB0aGlzLl9hc3NldElkID0gQWNjb3VudEFkZHJlc3MuWkVSTy50b1N0cmluZygpO1xuICAgIHRoaXMuX3NlbmRlclNpZ25hdHVyZSA9IHtcbiAgICAgIHB1YmxpY0tleToge1xuICAgICAgICBwdWI6IEhleC5mcm9tSGV4SW5wdXQoVHJhbnNhY3Rpb24uRU1QVFlfUFVCTElDX0tFWSkudG9TdHJpbmcoKSxcbiAgICAgIH0sXG4gICAgICBzaWduYXR1cmU6IFRyYW5zYWN0aW9uLkVNUFRZX1NJR05BVFVSRSxcbiAgICB9O1xuICAgIHRoaXMuX2ZlZVBheWVyQWRkcmVzcyA9IEFjY291bnRBZGRyZXNzLlpFUk8udG9TdHJpbmcoKTtcbiAgICB0aGlzLl9mZWVQYXllclNpZ25hdHVyZSA9IHtcbiAgICAgIHB1YmxpY0tleToge1xuICAgICAgICBwdWI6IEhleC5mcm9tSGV4SW5wdXQoVHJhbnNhY3Rpb24uRU1QVFlfUFVCTElDX0tFWSkudG9TdHJpbmcoKSxcbiAgICAgIH0sXG4gICAgICBzaWduYXR1cmU6IFRyYW5zYWN0aW9uLkVNUFRZX1NJR05BVFVSRSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgdGhpcy5nZW5lcmF0ZVR4bklkKCk7XG4gICAgcmV0dXJuIHRoaXMuX2lkID8/IFVOQVZBSUxBQkxFX1RFWFQ7XG4gIH1cblxuICBnZXQgc2VuZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRlcjtcbiAgfVxuXG4gIHNldCBzZW5kZXIodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NlbmRlciA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHJlY2lwaWVudCgpOiBUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3JlY2lwaWVudDtcbiAgfVxuXG4gIHNldCByZWNpcGllbnQodmFsdWU6IFRyYW5zYWN0aW9uUmVjaXBpZW50KSB7XG4gICAgdGhpcy5fcmVjaXBpZW50ID0gdmFsdWU7XG4gIH1cblxuICBnZXQgc2VxdWVuY2VOdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fc2VxdWVuY2VOdW1iZXI7XG4gIH1cblxuICBzZXQgc2VxdWVuY2VOdW1iZXIodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3NlcXVlbmNlTnVtYmVyID0gdmFsdWU7XG4gIH1cblxuICBnZXQgbWF4R2FzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21heEdhc0Ftb3VudDtcbiAgfVxuXG4gIHNldCBtYXhHYXNBbW91bnQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX21heEdhc0Ftb3VudCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGdhc1VuaXRQcmljZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9nYXNVbml0UHJpY2U7XG4gIH1cblxuICBzZXQgZ2FzVW5pdFByaWNlKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9nYXNVbml0UHJpY2UgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBnYXNVc2VkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2dhc1VzZWQ7XG4gIH1cblxuICBzZXQgZ2FzVXNlZCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fZ2FzVXNlZCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGV4cGlyYXRpb25UaW1lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2V4cGlyYXRpb25UaW1lO1xuICB9XG5cbiAgc2V0IGV4cGlyYXRpb25UaW1lKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9leHBpcmF0aW9uVGltZSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGZlZVBheWVyQWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mZWVQYXllckFkZHJlc3M7XG4gIH1cblxuICBzZXQgdHJhbnNhY3Rpb25UeXBlKHRyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25UeXBlKSB7XG4gICAgdGhpcy5fdHlwZSA9IHRyYW5zYWN0aW9uVHlwZTtcbiAgfVxuXG4gIGdldCBhc3NldElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Fzc2V0SWQ7XG4gIH1cblxuICBzZXQgYXNzZXRJZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYXNzZXRJZCA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJ1aWxkUmF3VHJhbnNhY3Rpb24oKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcGFyc2VUcmFuc2FjdGlvblBheWxvYWQocGF5bG9hZDogVHJhbnNhY3Rpb25QYXlsb2FkKTogdm9pZDtcblxuICBmcm9tRGVzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkVHhuOiBTaWduZWRUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByYXdUeG4gPSBzaWduZWRUeG4ucmF3X3R4bjtcbiAgICAgIHRoaXMucGFyc2VUcmFuc2FjdGlvblBheWxvYWQocmF3VHhuLnBheWxvYWQpO1xuICAgICAgdGhpcy5fc2VuZGVyID0gcmF3VHhuLnNlbmRlci50b1N0cmluZygpO1xuICAgICAgdGhpcy5fc2VxdWVuY2VOdW1iZXIgPSB1dGlscy5jYXN0VG9OdW1iZXIocmF3VHhuLnNlcXVlbmNlX251bWJlcik7XG4gICAgICB0aGlzLl9tYXhHYXNBbW91bnQgPSB1dGlscy5jYXN0VG9OdW1iZXIocmF3VHhuLm1heF9nYXNfYW1vdW50KTtcbiAgICAgIHRoaXMuX2dhc1VuaXRQcmljZSA9IHV0aWxzLmNhc3RUb051bWJlcihyYXdUeG4uZ2FzX3VuaXRfcHJpY2UpO1xuICAgICAgdGhpcy5fZXhwaXJhdGlvblRpbWUgPSB1dGlscy5jYXN0VG9OdW1iZXIocmF3VHhuLmV4cGlyYXRpb25fdGltZXN0YW1wX3NlY3MpO1xuICAgICAgdGhpcy5fcmF3VHJhbnNhY3Rpb24gPSByYXdUeG47XG5cbiAgICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgICAgIGNvbnN0IGF1dGhlbnRpY2F0b3IgPSBzaWduZWRUeG4uYXV0aGVudGljYXRvciBhcyBUcmFuc2FjdGlvbkF1dGhlbnRpY2F0b3JGZWVQYXllcjtcbiAgICAgIHRoaXMuX2ZlZVBheWVyQWRkcmVzcyA9IGF1dGhlbnRpY2F0b3IuZmVlX3BheWVyLmFkZHJlc3MudG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IHNlbmRlckF1dGhlbnRpY2F0b3IgPSBhdXRoZW50aWNhdG9yLnNlbmRlciBhcyBBY2NvdW50QXV0aGVudGljYXRvckVkMjU1MTk7XG4gICAgICBjb25zdCBzZW5kZXJTaWduYXR1cmUgPSBCdWZmZXIuZnJvbShzZW5kZXJBdXRoZW50aWNhdG9yLnNpZ25hdHVyZS50b1VpbnQ4QXJyYXkoKSk7XG4gICAgICB0aGlzLmFkZFNlbmRlclNpZ25hdHVyZSh7IHB1Yjogc2VuZGVyQXV0aGVudGljYXRvci5wdWJsaWNfa2V5LnRvU3RyaW5nKCkgfSwgc2VuZGVyU2lnbmF0dXJlKTtcblxuICAgICAgY29uc3QgZmVlUGF5ZXJBdXRoZW50aWNhdG9yID0gYXV0aGVudGljYXRvci5mZWVfcGF5ZXIuYXV0aGVudGljYXRvciBhcyBBY2NvdW50QXV0aGVudGljYXRvckVkMjU1MTk7XG4gICAgICBjb25zdCBmZWVQYXllclNpZ25hdHVyZSA9IEJ1ZmZlci5mcm9tKGZlZVBheWVyQXV0aGVudGljYXRvci5zaWduYXR1cmUudG9VaW50OEFycmF5KCkpO1xuICAgICAgdGhpcy5hZGRGZWVQYXllclNpZ25hdHVyZSh7IHB1YjogZmVlUGF5ZXJBdXRoZW50aWNhdG9yLnB1YmxpY19rZXkudG9TdHJpbmcoKSB9LCBmZWVQYXllclNpZ25hdHVyZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcignaW52YWxpZCBzaWduZWQgdHJhbnNhY3Rpb24nLCBlKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzaWduZWQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICBjYW5TaWduKF9rZXk6IEJhc2VLZXkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fcmF3VHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplKCk7XG4gIH1cblxuICBzZXJpYWxpemUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZW5kZXJQdWJsaWNLZXlCdWZmZXIgPSB1dGlscy5nZXRCdWZmZXJGcm9tSGV4U3RyaW5nKHRoaXMuX3NlbmRlclNpZ25hdHVyZS5wdWJsaWNLZXkucHViKTtcbiAgICBjb25zdCBzZW5kZXJQdWJsaWNLZXkgPSBuZXcgRWQyNTUxOVB1YmxpY0tleShzZW5kZXJQdWJsaWNLZXlCdWZmZXIpO1xuXG4gICAgY29uc3Qgc2VuZGVyU2lnbmF0dXJlID0gbmV3IEVkMjU1MTlTaWduYXR1cmUodGhpcy5fc2VuZGVyU2lnbmF0dXJlLnNpZ25hdHVyZSk7XG4gICAgY29uc3Qgc2VuZGVyQXV0aGVudGljYXRvciA9IG5ldyBBY2NvdW50QXV0aGVudGljYXRvckVkMjU1MTkoc2VuZGVyUHVibGljS2V5LCBzZW5kZXJTaWduYXR1cmUpO1xuXG4gICAgY29uc3QgZmVlUGF5ZXJQdWJsaWNLZXlCdWZmZXIgPSB1dGlscy5nZXRCdWZmZXJGcm9tSGV4U3RyaW5nKHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlLnB1YmxpY0tleS5wdWIpO1xuICAgIGNvbnN0IGZlZVBheWVyUHVibGljS2V5ID0gbmV3IEVkMjU1MTlQdWJsaWNLZXkoZmVlUGF5ZXJQdWJsaWNLZXlCdWZmZXIpO1xuXG4gICAgY29uc3QgZmVlUGF5ZXJTaWduYXR1cmUgPSBuZXcgRWQyNTUxOVNpZ25hdHVyZSh0aGlzLl9mZWVQYXllclNpZ25hdHVyZS5zaWduYXR1cmUpO1xuICAgIGNvbnN0IGZlZVBheWVyQXV0aGVudGljYXRvciA9IG5ldyBBY2NvdW50QXV0aGVudGljYXRvckVkMjU1MTkoZmVlUGF5ZXJQdWJsaWNLZXksIGZlZVBheWVyU2lnbmF0dXJlKTtcblxuICAgIGNvbnN0IHR4bkF1dGhlbnRpY2F0b3IgPSBuZXcgVHJhbnNhY3Rpb25BdXRoZW50aWNhdG9yRmVlUGF5ZXIoc2VuZGVyQXV0aGVudGljYXRvciwgW10sIFtdLCB7XG4gICAgICBhZGRyZXNzOiBBY2NvdW50QWRkcmVzcy5mcm9tU3RyaW5nKHRoaXMuX2ZlZVBheWVyQWRkcmVzcyksXG4gICAgICBhdXRoZW50aWNhdG9yOiBmZWVQYXllckF1dGhlbnRpY2F0b3IsXG4gICAgfSk7XG5cbiAgICBjb25zdCBzaWduZWRUeG4gPSBuZXcgU2lnbmVkVHJhbnNhY3Rpb24odGhpcy5fcmF3VHJhbnNhY3Rpb24sIHR4bkF1dGhlbnRpY2F0b3IpO1xuICAgIHJldHVybiBzaWduZWRUeG4udG9TdHJpbmcoKTtcbiAgfVxuXG4gIGFkZFNlbmRlclNpZ25hdHVyZShwdWJsaWNLZXk6IFB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9zaWduYXR1cmVzID0gW3NpZ25hdHVyZS50b1N0cmluZygnaGV4JyldO1xuICAgIHRoaXMuX3NlbmRlclNpZ25hdHVyZSA9IHsgcHVibGljS2V5LCBzaWduYXR1cmUgfTtcbiAgfVxuXG4gIGdldEZlZVBheWVyUHViS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlLnB1YmxpY0tleS5wdWI7XG4gIH1cblxuICBhZGRGZWVQYXllclNpZ25hdHVyZShwdWJsaWNLZXk6IFB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9mZWVQYXllclNpZ25hdHVyZSA9IHsgcHVibGljS2V5LCBzaWduYXR1cmUgfTtcbiAgfVxuXG4gIGFkZEZlZVBheWVyQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9mZWVQYXllckFkZHJlc3MgPSBhZGRyZXNzO1xuICB9XG5cbiAgYXN5bmMgYnVpbGQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5idWlsZFJhd1RyYW5zYWN0aW9uKCk7XG4gICAgdGhpcy5nZW5lcmF0ZVR4bklkKCk7XG4gICAgdGhpcy5sb2FkSW5wdXRzQW5kT3V0cHV0cygpO1xuICB9XG5cbiAgbG9hZElucHV0c0FuZE91dHB1dHMoKTogdm9pZCB7XG4gICAgdGhpcy5faW5wdXRzID0gW1xuICAgICAge1xuICAgICAgICBhZGRyZXNzOiB0aGlzLnNlbmRlcixcbiAgICAgICAgdmFsdWU6IHRoaXMucmVjaXBpZW50LmFtb3VudCBhcyBzdHJpbmcsXG4gICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgIH0sXG4gICAgXTtcbiAgICB0aGlzLl9vdXRwdXRzID0gW1xuICAgICAge1xuICAgICAgICBhZGRyZXNzOiB0aGlzLnJlY2lwaWVudC5hZGRyZXNzLFxuICAgICAgICB2YWx1ZTogdGhpcy5yZWNpcGllbnQuYW1vdW50IGFzIHN0cmluZyxcbiAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgc2lnbmVkVHhuOiBTaWduZWRUcmFuc2FjdGlvbjtcbiAgICB0cnkge1xuICAgICAgc2lnbmVkVHhuID0gdXRpbHMuZGVzZXJpYWxpemVTaWduZWRUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcignaW52YWxpZCByYXcgdHJhbnNhY3Rpb24nLCBlKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCByYXcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgdGhpcy5mcm9tRGVzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkVHhuKTtcbiAgfVxuICAvKipcbiAgICogRGVzZXJpYWxpemVzIGEgc2lnbmVkIHRyYW5zYWN0aW9uIGhleCBzdHJpbmdcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNpZ25lZFJhd1RyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zIHtTaWduZWRUcmFuc2FjdGlvbn0gdGhlIGFwdG9zIHNpZ25lZCB0cmFuc2FjdGlvblxuICAgKi9cbiAgc3RhdGljIGRlc2VyaWFsaXplU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkUmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHV0aWxzLmRlc2VyaWFsaXplU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkUmF3VHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJywgZSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgdG9Kc29uKCk6IFR4RGF0YSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgc2VuZGVyOiB0aGlzLnNlbmRlcixcbiAgICAgIHJlY2lwaWVudDogdGhpcy5yZWNpcGllbnQsXG4gICAgICBzZXF1ZW5jZU51bWJlcjogdGhpcy5zZXF1ZW5jZU51bWJlcixcbiAgICAgIG1heEdhc0Ftb3VudDogdGhpcy5tYXhHYXNBbW91bnQsXG4gICAgICBnYXNVbml0UHJpY2U6IHRoaXMuZ2FzVW5pdFByaWNlLFxuICAgICAgZ2FzVXNlZDogdGhpcy5nYXNVc2VkLFxuICAgICAgZXhwaXJhdGlvblRpbWU6IHRoaXMuZXhwaXJhdGlvblRpbWUsXG4gICAgICBmZWVQYXllcjogdGhpcy5mZWVQYXllckFkZHJlc3MsXG4gICAgICBhc3NldElkOiB0aGlzLmFzc2V0SWQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGZWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IEJpZ051bWJlcih0aGlzLmdhc1VzZWQpLm11bHRpcGxpZWRCeSh0aGlzLmdhc1VuaXRQcmljZSkudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2lnbmFibGVQYXlsb2FkKCk6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIHRoaXMuZmVlUGF5ZXJBZGRyZXNzID8gdGhpcy5nZXRTaWduYWJsZVBheWxvYWRXaXRoRmVlUGF5ZXIoKSA6IHRoaXMuZ2V0U2lnbmFibGVQYXlsb2FkV2l0aG91dEZlZVBheWVyKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZXhwbGFpblRyYW5zYWN0aW9uKCk6IEFwdFRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICAgIGNvbnN0IGRpc3BsYXlPcmRlciA9IFtcbiAgICAgICdpZCcsXG4gICAgICAnb3V0cHV0cycsXG4gICAgICAnb3V0cHV0QW1vdW50JyxcbiAgICAgICdjaGFuZ2VPdXRwdXRzJyxcbiAgICAgICdjaGFuZ2VBbW91bnQnLFxuICAgICAgJ2ZlZScsXG4gICAgICAnd2l0aGRyYXdBbW91bnQnLFxuICAgICAgJ3NlbmRlcicsXG4gICAgICAndHlwZScsXG4gICAgXTtcblxuICAgIGNvbnN0IG91dHB1dHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10gPSBbdGhpcy5yZWNpcGllbnRdO1xuICAgIGNvbnN0IG91dHB1dEFtb3VudCA9IG91dHB1dHNbMF0uYW1vdW50O1xuICAgIHJldHVybiB7XG4gICAgICBkaXNwbGF5T3JkZXIsXG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIG91dHB1dHMsXG4gICAgICBvdXRwdXRBbW91bnQsXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXSxcbiAgICAgIGNoYW5nZUFtb3VudDogJzAnLFxuICAgICAgZmVlOiB7IGZlZTogdGhpcy5nZXRGZWUoKSB9LFxuICAgICAgc2VuZGVyOiB0aGlzLnNlbmRlcixcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaWduYWJsZVBheWxvYWRXaXRoRmVlUGF5ZXIoKTogQnVmZmVyIHtcbiAgICBjb25zdCBmZWVQYXllclJhd1R4biA9IG5ldyBGZWVQYXllclJhd1RyYW5zYWN0aW9uKFxuICAgICAgdGhpcy5fcmF3VHJhbnNhY3Rpb24sXG4gICAgICBbXSxcbiAgICAgIEFjY291bnRBZGRyZXNzLmZyb21TdHJpbmcodGhpcy5fZmVlUGF5ZXJBZGRyZXNzKVxuICAgICk7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGdlbmVyYXRlU2lnbmluZ01lc3NhZ2UoZmVlUGF5ZXJSYXdUeG4uYmNzVG9CeXRlcygpLCBSQVdfVFJBTlNBQ1RJT05fV0lUSF9EQVRBX1NBTFQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2lnbmFibGVQYXlsb2FkV2l0aG91dEZlZVBheWVyKCk6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGdlbmVyYXRlU2lnbmluZ01lc3NhZ2UodGhpcy5fcmF3VHJhbnNhY3Rpb24uYmNzVG9CeXRlcygpLCBSQVdfVFJBTlNBQ1RJT05fU0FMVCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVR4bklkKCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9zZW5kZXJTaWduYXR1cmUgfHxcbiAgICAgICF0aGlzLl9zZW5kZXJTaWduYXR1cmUucHVibGljS2V5IHx8XG4gICAgICAhdGhpcy5fc2VuZGVyU2lnbmF0dXJlLnNpZ25hdHVyZSB8fFxuICAgICAgIXRoaXMuX2ZlZVBheWVyU2lnbmF0dXJlIHx8XG4gICAgICAhdGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUucHVibGljS2V5IHx8XG4gICAgICAhdGhpcy5fZmVlUGF5ZXJTaWduYXR1cmUuc2lnbmF0dXJlXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gbmV3IFNpbXBsZVRyYW5zYWN0aW9uKHRoaXMuX3Jhd1RyYW5zYWN0aW9uKTtcbiAgICBjb25zdCBzZW5kZXJQdWJsaWNLZXkgPSBuZXcgRWQyNTUxOVB1YmxpY0tleSh1dGlscy5nZXRCdWZmZXJGcm9tSGV4U3RyaW5nKHRoaXMuX3NlbmRlclNpZ25hdHVyZS5wdWJsaWNLZXkucHViKSk7XG4gICAgY29uc3Qgc2VuZGVyU2lnbmF0dXJlID0gbmV3IEVkMjU1MTlTaWduYXR1cmUodGhpcy5fc2VuZGVyU2lnbmF0dXJlLnNpZ25hdHVyZSk7XG4gICAgY29uc3Qgc2VuZGVyQXV0aGVudGljYXRvciA9IG5ldyBBY2NvdW50QXV0aGVudGljYXRvckVkMjU1MTkoc2VuZGVyUHVibGljS2V5LCBzZW5kZXJTaWduYXR1cmUpO1xuICAgIGNvbnN0IGZlZVBheWVyUHVibGljS2V5ID0gbmV3IEVkMjU1MTlQdWJsaWNLZXkodXRpbHMuZ2V0QnVmZmVyRnJvbUhleFN0cmluZyh0aGlzLl9mZWVQYXllclNpZ25hdHVyZS5wdWJsaWNLZXkucHViKSk7XG4gICAgY29uc3QgZmVlUGF5ZXJTaWduYXR1cmUgPSBuZXcgRWQyNTUxOVNpZ25hdHVyZSh0aGlzLl9mZWVQYXllclNpZ25hdHVyZS5zaWduYXR1cmUpO1xuICAgIGNvbnN0IGZlZVBheWVyQXV0aGVudGljYXRvciA9IG5ldyBBY2NvdW50QXV0aGVudGljYXRvckVkMjU1MTkoZmVlUGF5ZXJQdWJsaWNLZXksIGZlZVBheWVyU2lnbmF0dXJlKTtcbiAgICB0aGlzLl9pZCA9IGdlbmVyYXRlVXNlclRyYW5zYWN0aW9uSGFzaCh7IHRyYW5zYWN0aW9uLCBzZW5kZXJBdXRoZW50aWNhdG9yLCBmZWVQYXllckF1dGhlbnRpY2F0b3IgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { Transaction } from './transaction';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { TransactionPayload } from '@aptos-labs/ts-sdk';
|
|
3
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
4
4
|
export declare class TransferTransaction extends Transaction {
|
|
5
|
-
constructor(coinConfig:
|
|
6
|
-
|
|
7
|
-
fromRawTransaction(rawTransaction: string): void;
|
|
8
|
-
fromDeserializedSignedTransaction(signedTxn: SignedTransaction): void;
|
|
5
|
+
constructor(coinConfig: Readonly<CoinConfig>);
|
|
6
|
+
protected parseTransactionPayload(payload: TransactionPayload): void;
|
|
9
7
|
protected buildRawTransaction(): Promise<void>;
|
|
10
8
|
}
|
|
11
9
|
//# 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;
|
|
1
|
+
{"version":3,"file":"transferTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/transferTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAKL,kBAAkB,EAEnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAe,MAAM,gBAAgB,CAAC;AAGrE,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM5C,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;cAmBpD,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBrD"}
|
|
@@ -1,67 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.TransferTransaction = void 0;
|
|
7
4
|
const transaction_1 = require("./transaction");
|
|
8
5
|
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
9
6
|
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
|
|
10
|
-
const utils_1 = __importDefault(require("../utils"));
|
|
11
7
|
const statics_1 = require("@bitgo/statics");
|
|
8
|
+
const constants_1 = require("../constants");
|
|
12
9
|
class TransferTransaction extends transaction_1.Transaction {
|
|
13
10
|
constructor(coinConfig) {
|
|
14
11
|
super(coinConfig);
|
|
15
12
|
this._type = sdk_core_1.TransactionType.Send;
|
|
13
|
+
this._assetId = constants_1.APTOS_COIN;
|
|
16
14
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
maxGasAmount: this.maxGasAmount,
|
|
24
|
-
gasUnitPrice: this.gasUnitPrice,
|
|
25
|
-
gasUsed: this.gasUsed,
|
|
26
|
-
expirationTime: this.expirationTime,
|
|
27
|
-
feePayer: this.feePayerAddress,
|
|
28
|
-
};
|
|
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);
|
|
15
|
+
parseTransactionPayload(payload) {
|
|
16
|
+
if (!(payload instanceof ts_sdk_1.TransactionPayloadEntryFunction) ||
|
|
17
|
+
payload.entryFunction.args.length !== 2 ||
|
|
18
|
+
payload.entryFunction.type_args.length !== 1 ||
|
|
19
|
+
payload.entryFunction.type_args[0].toString().length === 0) {
|
|
20
|
+
throw new sdk_core_1.InvalidTransactionError('Invalid transaction payload');
|
|
60
21
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
22
|
+
const entryFunction = payload.entryFunction;
|
|
23
|
+
if (!this._recipient) {
|
|
24
|
+
this._recipient = {};
|
|
64
25
|
}
|
|
26
|
+
this._assetId = entryFunction.type_args[0].toString();
|
|
27
|
+
this._recipient.address = entryFunction.args[0].toString();
|
|
28
|
+
const amountBuffer = Buffer.from(entryFunction.args[1].bcsToBytes());
|
|
29
|
+
this._recipient.amount = amountBuffer.readBigUint64LE().toString();
|
|
65
30
|
}
|
|
66
31
|
async buildRawTransaction() {
|
|
67
32
|
const network = this._coinConfig.network.type === statics_1.NetworkType.MAINNET ? ts_sdk_1.Network.MAINNET : ts_sdk_1.Network.TESTNET;
|
|
@@ -71,8 +36,8 @@ class TransferTransaction extends transaction_1.Transaction {
|
|
|
71
36
|
const simpleTxn = await aptos.transaction.build.simple({
|
|
72
37
|
sender: senderAddress,
|
|
73
38
|
data: {
|
|
74
|
-
function:
|
|
75
|
-
typeArguments: [
|
|
39
|
+
function: constants_1.COIN_TRANSFER_FUNCTION,
|
|
40
|
+
typeArguments: [this.assetId],
|
|
76
41
|
functionArguments: [recipientAddress, this.recipient.amount],
|
|
77
42
|
},
|
|
78
43
|
options: {
|
|
@@ -86,4 +51,4 @@ class TransferTransaction extends transaction_1.Transaction {
|
|
|
86
51
|
}
|
|
87
52
|
}
|
|
88
53
|
exports.TransferTransaction = TransferTransaction;
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJUcmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb24vdHJhbnNmZXJUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBNEM7QUFDNUMsOENBQWlHO0FBQ2pHLCtDQU80QjtBQUU1Qiw0Q0FBcUU7QUFDckUsNENBQWtFO0FBRWxFLE1BQWEsbUJBQW9CLFNBQVEseUJBQVc7SUFDbEQsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLHNCQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVTLHVCQUF1QixDQUFDLE9BQTJCO1FBQzNELElBQ0UsQ0FBQyxDQUFDLE9BQU8sWUFBWSx3Q0FBK0IsQ0FBQztZQUNyRCxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN2QyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUM1QyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUMxRCxDQUFDO1lBQ0QsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQTBCLENBQUM7UUFDL0MsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0lBRVMsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxNQUFNLE9BQU8sR0FBWSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUsscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGdCQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxnQkFBTyxDQUFDLE9BQU8sQ0FBQztRQUNuSCxNQUFNLEtBQUssR0FBRyxJQUFJLGNBQUssQ0FBQyxJQUFJLG9CQUFXLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEQsTUFBTSxhQUFhLEdBQUcsdUJBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlELE1BQU0sZ0JBQWdCLEdBQUcsdUJBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RSxNQUFNLFNBQVMsR0FBRyxNQUFNLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNyRCxNQUFNLEVBQUUsYUFBYTtZQUNyQixJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLGtDQUFzQjtnQkFDaEMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDN0IsaUJBQWlCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQzthQUM3RDtZQUNELE9BQU8sRUFBRTtnQkFDUCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjO2dCQUNwQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsY0FBYzthQUMzQztTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDLGNBQWMsQ0FBQztJQUNsRCxDQUFDO0NBQ0Y7QUEvQ0Qsa0RBK0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblJlY2lwaWVudCwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7XG4gIEFjY291bnRBZGRyZXNzLFxuICBBcHRvcyxcbiAgQXB0b3NDb25maWcsXG4gIE5ldHdvcmssXG4gIFRyYW5zYWN0aW9uUGF5bG9hZCxcbiAgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbixcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcblxuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZywgTmV0d29ya1R5cGUgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBBUFRPU19DT0lOLCBDT0lOX1RSQU5TRkVSX0ZVTkNUSU9OIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyVHJhbnNhY3Rpb24gZXh0ZW5kcyBUcmFuc2FjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICAgIHRoaXMuX2Fzc2V0SWQgPSBBUFRPU19DT0lOO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlVHJhbnNhY3Rpb25QYXlsb2FkKHBheWxvYWQ6IFRyYW5zYWN0aW9uUGF5bG9hZCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICEocGF5bG9hZCBpbnN0YW5jZW9mIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24pIHx8XG4gICAgICBwYXlsb2FkLmVudHJ5RnVuY3Rpb24uYXJncy5sZW5ndGggIT09IDIgfHxcbiAgICAgIHBheWxvYWQuZW50cnlGdW5jdGlvbi50eXBlX2FyZ3MubGVuZ3RoICE9PSAxIHx8XG4gICAgICBwYXlsb2FkLmVudHJ5RnVuY3Rpb24udHlwZV9hcmdzWzBdLnRvU3RyaW5nKCkubGVuZ3RoID09PSAwXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24gcGF5bG9hZCcpO1xuICAgIH1cbiAgICBjb25zdCBlbnRyeUZ1bmN0aW9uID0gcGF5bG9hZC5lbnRyeUZ1bmN0aW9uO1xuICAgIGlmICghdGhpcy5fcmVjaXBpZW50KSB7XG4gICAgICB0aGlzLl9yZWNpcGllbnQgPSB7fSBhcyBUcmFuc2FjdGlvblJlY2lwaWVudDtcbiAgICB9XG4gICAgdGhpcy5fYXNzZXRJZCA9IGVudHJ5RnVuY3Rpb24udHlwZV9hcmdzWzBdLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5fcmVjaXBpZW50LmFkZHJlc3MgPSBlbnRyeUZ1bmN0aW9uLmFyZ3NbMF0udG9TdHJpbmcoKTtcbiAgICBjb25zdCBhbW91bnRCdWZmZXIgPSBCdWZmZXIuZnJvbShlbnRyeUZ1bmN0aW9uLmFyZ3NbMV0uYmNzVG9CeXRlcygpKTtcbiAgICB0aGlzLl9yZWNpcGllbnQuYW1vdW50ID0gYW1vdW50QnVmZmVyLnJlYWRCaWdVaW50NjRMRSgpLnRvU3RyaW5nKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRSYXdUcmFuc2FjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBuZXR3b3JrOiBOZXR3b3JrID0gdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUgPT09IE5ldHdvcmtUeXBlLk1BSU5ORVQgPyBOZXR3b3JrLk1BSU5ORVQgOiBOZXR3b3JrLlRFU1RORVQ7XG4gICAgY29uc3QgYXB0b3MgPSBuZXcgQXB0b3MobmV3IEFwdG9zQ29uZmlnKHsgbmV0d29yayB9KSk7XG4gICAgY29uc3Qgc2VuZGVyQWRkcmVzcyA9IEFjY291bnRBZGRyZXNzLmZyb21TdHJpbmcodGhpcy5fc2VuZGVyKTtcbiAgICBjb25zdCByZWNpcGllbnRBZGRyZXNzID0gQWNjb3VudEFkZHJlc3MuZnJvbVN0cmluZyh0aGlzLl9yZWNpcGllbnQuYWRkcmVzcyk7XG4gICAgY29uc3Qgc2ltcGxlVHhuID0gYXdhaXQgYXB0b3MudHJhbnNhY3Rpb24uYnVpbGQuc2ltcGxlKHtcbiAgICAgIHNlbmRlcjogc2VuZGVyQWRkcmVzcyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgZnVuY3Rpb246IENPSU5fVFJBTlNGRVJfRlVOQ1RJT04sXG4gICAgICAgIHR5cGVBcmd1bWVudHM6IFt0aGlzLmFzc2V0SWRdLFxuICAgICAgICBmdW5jdGlvbkFyZ3VtZW50czogW3JlY2lwaWVudEFkZHJlc3MsIHRoaXMucmVjaXBpZW50LmFtb3VudF0sXG4gICAgICB9LFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBtYXhHYXNBbW91bnQ6IHRoaXMubWF4R2FzQW1vdW50LFxuICAgICAgICBnYXNVbml0UHJpY2U6IHRoaXMuZ2FzVW5pdFByaWNlLFxuICAgICAgICBleHBpcmVUaW1lc3RhbXA6IHRoaXMuZXhwaXJhdGlvblRpbWUsXG4gICAgICAgIGFjY291bnRTZXF1ZW5jZU51bWJlcjogdGhpcy5zZXF1ZW5jZU51bWJlcixcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5fcmF3VHJhbnNhY3Rpb24gPSBzaW1wbGVUeG4ucmF3VHJhbnNhY3Rpb247XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
3
|
+
import { TransactionType } from '@bitgo/sdk-core';
|
|
4
|
+
import { TransactionPayload } from '@aptos-labs/ts-sdk';
|
|
5
|
+
import { DigitalAssetTransfer } from '../transaction/digitalAssetTransfer';
|
|
6
|
+
export declare class DigitalAssetTransferBuilder extends TransactionBuilder {
|
|
7
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
8
|
+
protected get transactionType(): TransactionType;
|
|
9
|
+
assetId(assetId: string): TransactionBuilder;
|
|
10
|
+
/** @inheritdoc */
|
|
11
|
+
validateTransaction(transaction?: DigitalAssetTransfer): void;
|
|
12
|
+
protected isValidTransactionPayload(payload: TransactionPayload): boolean;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=digitalAssetTransferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digitalAssetTransferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/transactionBuilder/digitalAssetTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAmC,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,qBAAa,2BAA4B,SAAQ,kBAAkB;gBACrD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB;IAM5C,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAQ7D,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,kBAAkB;CAoBhE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DigitalAssetTransferBuilder = void 0;
|
|
7
|
+
const transactionBuilder_1 = require("./transactionBuilder");
|
|
8
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
9
|
+
const utils_1 = __importDefault(require("../utils"));
|
|
10
|
+
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
|
|
11
|
+
const digitalAssetTransfer_1 = require("../transaction/digitalAssetTransfer");
|
|
12
|
+
const constants_1 = require("../constants");
|
|
13
|
+
class DigitalAssetTransferBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
14
|
+
constructor(_coinConfig) {
|
|
15
|
+
super(_coinConfig);
|
|
16
|
+
this._transaction = new digitalAssetTransfer_1.DigitalAssetTransfer(_coinConfig);
|
|
17
|
+
}
|
|
18
|
+
get transactionType() {
|
|
19
|
+
return sdk_core_1.TransactionType.SendNFT;
|
|
20
|
+
}
|
|
21
|
+
assetId(assetId) {
|
|
22
|
+
this.validateAddress({ address: assetId });
|
|
23
|
+
this.transaction.assetId = assetId;
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
/** @inheritdoc */
|
|
27
|
+
validateTransaction(transaction) {
|
|
28
|
+
if (!transaction) {
|
|
29
|
+
throw new Error('transaction not defined');
|
|
30
|
+
}
|
|
31
|
+
super.validateTransaction(transaction);
|
|
32
|
+
this.validateAddress({ address: transaction.assetId });
|
|
33
|
+
}
|
|
34
|
+
isValidTransactionPayload(payload) {
|
|
35
|
+
try {
|
|
36
|
+
if (!(payload instanceof ts_sdk_1.TransactionPayloadEntryFunction) ||
|
|
37
|
+
payload.entryFunction.args.length !== 2 ||
|
|
38
|
+
payload.entryFunction.type_args.length !== 1 ||
|
|
39
|
+
constants_1.DIGITAL_ASSET_TYPE_ARGUMENT !== payload.entryFunction.type_args[0].toString()) {
|
|
40
|
+
console.error('invalid transaction payload');
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
const entryFunction = payload.entryFunction;
|
|
44
|
+
const digitalAssetAddress = entryFunction.args[0].toString();
|
|
45
|
+
const recipientAddress = entryFunction.args[1].toString();
|
|
46
|
+
return utils_1.default.isValidAddress(recipientAddress) && utils_1.default.isValidAddress(digitalAssetAddress);
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
console.error('invalid transaction payload', e);
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.DigitalAssetTransferBuilder = DigitalAssetTransferBuilder;
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRhbEFzc2V0VHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIvZGlnaXRhbEFzc2V0VHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDZEQUEwRDtBQUUxRCw4Q0FBa0Q7QUFDbEQscURBQTZCO0FBQzdCLCtDQUF5RjtBQUN6Riw4RUFBMkU7QUFDM0UsNENBQTJEO0FBRTNELE1BQWEsMkJBQTRCLFNBQVEsdUNBQWtCO0lBQ2pFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSwyQ0FBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxPQUFPLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFlO1FBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLG1CQUFtQixDQUFDLFdBQWtDO1FBQ3BELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFUyx5QkFBeUIsQ0FBQyxPQUEyQjtRQUM3RCxJQUFJLENBQUM7WUFDSCxJQUNFLENBQUMsQ0FBQyxPQUFPLFlBQVksd0NBQStCLENBQUM7Z0JBQ3JELE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUN2QyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDNUMsdUNBQTJCLEtBQUssT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQzdFLENBQUM7Z0JBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO2dCQUM3QyxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFDRCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQzVDLE1BQU0sbUJBQW1CLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3RCxNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUQsT0FBTyxlQUFLLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLElBQUksZUFBSyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdGLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNoRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUE3Q0Qsa0VBNkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25QYXlsb2FkLCBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uIH0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7IERpZ2l0YWxBc3NldFRyYW5zZmVyIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24vZGlnaXRhbEFzc2V0VHJhbnNmZXInO1xuaW1wb3J0IHsgRElHSVRBTF9BU1NFVF9UWVBFX0FSR1VNRU5UIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIERpZ2l0YWxBc3NldFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBEaWdpdGFsQXNzZXRUcmFuc2ZlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZE5GVDtcbiAgfVxuXG4gIGFzc2V0SWQoYXNzZXRJZDogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IGFzc2V0SWQgfSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5hc3NldElkID0gYXNzZXRJZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogRGlnaXRhbEFzc2V0VHJhbnNmZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RyYW5zYWN0aW9uIG5vdCBkZWZpbmVkJyk7XG4gICAgfVxuICAgIHN1cGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogdHJhbnNhY3Rpb24uYXNzZXRJZCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1ZhbGlkVHJhbnNhY3Rpb25QYXlsb2FkKHBheWxvYWQ6IFRyYW5zYWN0aW9uUGF5bG9hZCkge1xuICAgIHRyeSB7XG4gICAgICBpZiAoXG4gICAgICAgICEocGF5bG9hZCBpbnN0YW5jZW9mIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24pIHx8XG4gICAgICAgIHBheWxvYWQuZW50cnlGdW5jdGlvbi5hcmdzLmxlbmd0aCAhPT0gMiB8fFxuICAgICAgICBwYXlsb2FkLmVudHJ5RnVuY3Rpb24udHlwZV9hcmdzLmxlbmd0aCAhPT0gMSB8fFxuICAgICAgICBESUdJVEFMX0FTU0VUX1RZUEVfQVJHVU1FTlQgIT09IHBheWxvYWQuZW50cnlGdW5jdGlvbi50eXBlX2FyZ3NbMF0udG9TdHJpbmcoKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2ludmFsaWQgdHJhbnNhY3Rpb24gcGF5bG9hZCcpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBjb25zdCBlbnRyeUZ1bmN0aW9uID0gcGF5bG9hZC5lbnRyeUZ1bmN0aW9uO1xuICAgICAgY29uc3QgZGlnaXRhbEFzc2V0QWRkcmVzcyA9IGVudHJ5RnVuY3Rpb24uYXJnc1swXS50b1N0cmluZygpO1xuICAgICAgY29uc3QgcmVjaXBpZW50QWRkcmVzcyA9IGVudHJ5RnVuY3Rpb24uYXJnc1sxXS50b1N0cmluZygpO1xuICAgICAgcmV0dXJuIHV0aWxzLmlzVmFsaWRBZGRyZXNzKHJlY2lwaWVudEFkZHJlc3MpICYmIHV0aWxzLmlzVmFsaWRBZGRyZXNzKGRpZ2l0YWxBc3NldEFkZHJlc3MpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2ludmFsaWQgdHJhbnNhY3Rpb24gcGF5bG9hZCcsIGUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
3
|
+
import { FungibleAssetTransfer } from '../transaction/fungibleAssetTransfer';
|
|
4
|
+
import { TransactionType } from '@bitgo/sdk-core';
|
|
5
|
+
import { TransactionPayload } from '@aptos-labs/ts-sdk';
|
|
6
|
+
export declare class FungibleAssetTransferBuilder extends TransactionBuilder {
|
|
7
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
8
|
+
protected get transactionType(): TransactionType;
|
|
9
|
+
assetId(assetId: string): TransactionBuilder;
|
|
10
|
+
/** @inheritdoc */
|
|
11
|
+
validateTransaction(transaction?: FungibleAssetTransfer): void;
|
|
12
|
+
protected isValidTransactionPayload(payload: TransactionPayload): boolean;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=fungibleAssetTransferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fungibleAssetTransferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/transactionBuilder/fungibleAssetTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAmC,MAAM,oBAAoB,CAAC;AAGzF,qBAAa,4BAA6B,SAAQ,kBAAkB;gBACtD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB;IAM5C,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAQ9D,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,kBAAkB;CA0BhE"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FungibleAssetTransferBuilder = void 0;
|
|
7
|
+
const transactionBuilder_1 = require("./transactionBuilder");
|
|
8
|
+
const fungibleAssetTransfer_1 = require("../transaction/fungibleAssetTransfer");
|
|
9
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
10
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
11
|
+
const utils_1 = __importDefault(require("../utils"));
|
|
12
|
+
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
|
|
13
|
+
const constants_1 = require("../constants");
|
|
14
|
+
class FungibleAssetTransferBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
15
|
+
constructor(_coinConfig) {
|
|
16
|
+
super(_coinConfig);
|
|
17
|
+
this._transaction = new fungibleAssetTransfer_1.FungibleAssetTransfer(_coinConfig);
|
|
18
|
+
}
|
|
19
|
+
get transactionType() {
|
|
20
|
+
return sdk_core_1.TransactionType.SendToken;
|
|
21
|
+
}
|
|
22
|
+
//TODO: Ticket: COIN-2941 : Check Statics based asset validation and if possible, implement it
|
|
23
|
+
assetId(assetId) {
|
|
24
|
+
this.validateAddress({ address: assetId });
|
|
25
|
+
this.transaction.assetId = assetId;
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
/** @inheritdoc */
|
|
29
|
+
validateTransaction(transaction) {
|
|
30
|
+
if (!transaction) {
|
|
31
|
+
throw new Error('fungible asset transaction not defined');
|
|
32
|
+
}
|
|
33
|
+
super.validateTransaction(transaction);
|
|
34
|
+
this.validateAddress({ address: transaction.assetId });
|
|
35
|
+
}
|
|
36
|
+
isValidTransactionPayload(payload) {
|
|
37
|
+
try {
|
|
38
|
+
if (!(payload instanceof ts_sdk_1.TransactionPayloadEntryFunction) ||
|
|
39
|
+
payload.entryFunction.args.length !== 3 ||
|
|
40
|
+
payload.entryFunction.type_args.length !== 1 ||
|
|
41
|
+
constants_1.FUNGIBLE_ASSET_TYPE_ARGUMENT !== payload.entryFunction.type_args[0].toString()) {
|
|
42
|
+
console.error('invalid transaction payload');
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
const entryFunction = payload.entryFunction;
|
|
46
|
+
const fungibleTokenAddress = entryFunction.args[0].toString();
|
|
47
|
+
const recipientAddress = entryFunction.args[1].toString();
|
|
48
|
+
const amountBuffer = Buffer.from(entryFunction.args[2].bcsToBytes());
|
|
49
|
+
const recipientAmount = new bignumber_js_1.default(amountBuffer.readBigUint64LE().toString());
|
|
50
|
+
return (utils_1.default.isValidAddress(recipientAddress) &&
|
|
51
|
+
utils_1.default.isValidAddress(fungibleTokenAddress) &&
|
|
52
|
+
!recipientAmount.isLessThan(0));
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
console.error('invalid transaction payload', e);
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.FungibleAssetTransferBuilder = FungibleAssetTransferBuilder;
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZ2libGVBc3NldFRyYW5zZmVyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyL2Z1bmdpYmxlQXNzZXRUcmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkRBQTBEO0FBRTFELGdGQUE2RTtBQUM3RSw4Q0FBa0Q7QUFDbEQsZ0VBQXFDO0FBQ3JDLHFEQUE2QjtBQUM3QiwrQ0FBeUY7QUFDekYsNENBQTREO0FBRTVELE1BQWEsNEJBQTZCLFNBQVEsdUNBQWtCO0lBQ2xFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSw2Q0FBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUNELDhGQUE4RjtJQUM5RixPQUFPLENBQUMsT0FBZTtRQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixtQkFBbUIsQ0FBQyxXQUFtQztRQUNyRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxLQUFLLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRVMseUJBQXlCLENBQUMsT0FBMkI7UUFDN0QsSUFBSSxDQUFDO1lBQ0gsSUFDRSxDQUFDLENBQUMsT0FBTyxZQUFZLHdDQUErQixDQUFDO2dCQUNyRCxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDdkMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQzVDLHdDQUE0QixLQUFLLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUM5RSxDQUFDO2dCQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFDN0MsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0QsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUM1QyxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUQsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzFELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLE1BQU0sZUFBZSxHQUFHLElBQUksc0JBQVMsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNqRixPQUFPLENBQ0wsZUFBSyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDdEMsZUFBSyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDMUMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUMvQixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7Q0FDRjtBQW5ERCxvRUFtREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgRnVuZ2libGVBc3NldFRyYW5zZmVyIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24vZnVuZ2libGVBc3NldFRyYW5zZmVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25QYXlsb2FkLCBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uIH0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7IEZVTkdJQkxFX0FTU0VUX1RZUEVfQVJHVU1FTlQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgRnVuZ2libGVBc3NldFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBGdW5naWJsZUFzc2V0VHJhbnNmZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmRUb2tlbjtcbiAgfVxuICAvL1RPRE86IFRpY2tldDogQ09JTi0yOTQxIDogQ2hlY2sgU3RhdGljcyBiYXNlZCBhc3NldCB2YWxpZGF0aW9uIGFuZCBpZiBwb3NzaWJsZSwgaW1wbGVtZW50IGl0XG4gIGFzc2V0SWQoYXNzZXRJZDogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IGFzc2V0SWQgfSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5hc3NldElkID0gYXNzZXRJZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogRnVuZ2libGVBc3NldFRyYW5zZmVyKTogdm9pZCB7XG4gICAgaWYgKCF0cmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdmdW5naWJsZSBhc3NldCB0cmFuc2FjdGlvbiBub3QgZGVmaW5lZCcpO1xuICAgIH1cbiAgICBzdXBlci52YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKTtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IHRyYW5zYWN0aW9uLmFzc2V0SWQgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNWYWxpZFRyYW5zYWN0aW9uUGF5bG9hZChwYXlsb2FkOiBUcmFuc2FjdGlvblBheWxvYWQpIHtcbiAgICB0cnkge1xuICAgICAgaWYgKFxuICAgICAgICAhKHBheWxvYWQgaW5zdGFuY2VvZiBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uKSB8fFxuICAgICAgICBwYXlsb2FkLmVudHJ5RnVuY3Rpb24uYXJncy5sZW5ndGggIT09IDMgfHxcbiAgICAgICAgcGF5bG9hZC5lbnRyeUZ1bmN0aW9uLnR5cGVfYXJncy5sZW5ndGggIT09IDEgfHxcbiAgICAgICAgRlVOR0lCTEVfQVNTRVRfVFlQRV9BUkdVTUVOVCAhPT0gcGF5bG9hZC5lbnRyeUZ1bmN0aW9uLnR5cGVfYXJnc1swXS50b1N0cmluZygpXG4gICAgICApIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignaW52YWxpZCB0cmFuc2FjdGlvbiBwYXlsb2FkJyk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVudHJ5RnVuY3Rpb24gPSBwYXlsb2FkLmVudHJ5RnVuY3Rpb247XG4gICAgICBjb25zdCBmdW5naWJsZVRva2VuQWRkcmVzcyA9IGVudHJ5RnVuY3Rpb24uYXJnc1swXS50b1N0cmluZygpO1xuICAgICAgY29uc3QgcmVjaXBpZW50QWRkcmVzcyA9IGVudHJ5RnVuY3Rpb24uYXJnc1sxXS50b1N0cmluZygpO1xuICAgICAgY29uc3QgYW1vdW50QnVmZmVyID0gQnVmZmVyLmZyb20oZW50cnlGdW5jdGlvbi5hcmdzWzJdLmJjc1RvQnl0ZXMoKSk7XG4gICAgICBjb25zdCByZWNpcGllbnRBbW91bnQgPSBuZXcgQmlnTnVtYmVyKGFtb3VudEJ1ZmZlci5yZWFkQmlnVWludDY0TEUoKS50b1N0cmluZygpKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHV0aWxzLmlzVmFsaWRBZGRyZXNzKHJlY2lwaWVudEFkZHJlc3MpICYmXG4gICAgICAgIHV0aWxzLmlzVmFsaWRBZGRyZXNzKGZ1bmdpYmxlVG9rZW5BZGRyZXNzKSAmJlxuICAgICAgICAhcmVjaXBpZW50QW1vdW50LmlzTGVzc1RoYW4oMClcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcignaW52YWxpZCB0cmFuc2FjdGlvbiBwYXlsb2FkJywgZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { BaseAddress, BaseKey, BaseTransactionBuilder, PublicKey as BasePublicKey, Recipient, TransactionType } from '@bitgo/sdk-core';
|
|
2
|
-
import { Transaction } from '
|
|
2
|
+
import { Transaction } from '../transaction/transaction';
|
|
3
3
|
import BigNumber from 'bignumber.js';
|
|
4
4
|
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
5
|
-
import { GasData } from '
|
|
5
|
+
import { GasData } from '../types';
|
|
6
|
+
import { TransactionPayload } from '@aptos-labs/ts-sdk';
|
|
6
7
|
export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
|
|
7
8
|
protected _transaction: Transaction;
|
|
8
9
|
constructor(coinConfig: Readonly<CoinConfig>);
|
|
@@ -10,6 +11,12 @@ export declare abstract class TransactionBuilder extends BaseTransactionBuilder
|
|
|
10
11
|
* The transaction type.
|
|
11
12
|
*/
|
|
12
13
|
protected abstract get transactionType(): TransactionType;
|
|
14
|
+
/**
|
|
15
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
16
|
+
*
|
|
17
|
+
* @param {Transaction} tx the transaction data
|
|
18
|
+
*/
|
|
19
|
+
initBuilder(tx: Transaction): void;
|
|
13
20
|
/** @inheritdoc */
|
|
14
21
|
protected get transaction(): Transaction;
|
|
15
22
|
/** @inheritdoc */
|
|
@@ -25,25 +32,26 @@ export declare abstract class TransactionBuilder extends BaseTransactionBuilder
|
|
|
25
32
|
gasData(gasData: GasData): this;
|
|
26
33
|
sequenceNumber(seqNo: number): TransactionBuilder;
|
|
27
34
|
expirationTime(expTimeSec: number): TransactionBuilder;
|
|
35
|
+
abstract assetId(assetId: string): TransactionBuilder;
|
|
28
36
|
/** @inheritdoc */
|
|
29
37
|
protected signImplementation(key: BaseKey): Transaction;
|
|
30
38
|
/** @inheritDoc */
|
|
31
39
|
addSenderSignature(publicKey: BasePublicKey, signature: Buffer): void;
|
|
32
40
|
addFeePayerSignature(publicKey: BasePublicKey, signature: Buffer): void;
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
*/
|
|
38
|
-
abstract initBuilder(tx: Transaction): void;
|
|
41
|
+
/** @inheritdoc */
|
|
42
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
43
|
+
/** @inheritdoc */
|
|
44
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
39
45
|
/** @inheritdoc */
|
|
40
46
|
validateAddress(address: BaseAddress, addressFormat?: string): void;
|
|
41
47
|
/** @inheritdoc */
|
|
42
48
|
validateKey(key: BaseKey): void;
|
|
43
|
-
|
|
44
|
-
validateRawTransaction(rawTransaction: string): void;
|
|
49
|
+
protected abstract isValidTransactionPayload(payload: TransactionPayload): any;
|
|
45
50
|
/** @inheritdoc */
|
|
46
51
|
validateTransaction(transaction?: Transaction): void;
|
|
52
|
+
isValidRawTransaction(rawTransaction: string): boolean;
|
|
53
|
+
/** @inheritdoc */
|
|
54
|
+
validateRawTransaction(rawTransaction: string): void;
|
|
47
55
|
/** @inheritdoc */
|
|
48
56
|
validateValue(value: BigNumber): void;
|
|
49
57
|
private validateGasData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/transactionBuilder/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAGtB,SAAS,IAAI,aAAa,EAC1B,SAAS,EACT,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,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;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAIlC,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,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB;IAErD,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,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAMjE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAO3D,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,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,OAAO,EAAE,kBAAkB;IAExE,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI;IASpD,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAYtD,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,MAAM,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"}
|