@bitgo-beta/sdk-coin-apt 1.0.0-alpha.162 → 1.0.0-alpha.164
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/iface.d.ts +4 -5
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/transaction/customTransaction.d.ts +11 -30
- package/dist/src/lib/transaction/customTransaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/customTransaction.js +120 -50
- package/dist/src/lib/transactionBuilderFactory.d.ts +1 -1
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +5 -2
- package/package.json +6 -6
package/dist/src/lib/iface.d.ts
CHANGED
|
@@ -55,8 +55,7 @@ export interface RecipientsValidationResult {
|
|
|
55
55
|
* ```
|
|
56
56
|
*
|
|
57
57
|
* @remarks
|
|
58
|
-
* - The `abi` field is
|
|
59
|
-
* - Invalid ABI will cause transaction building to fail
|
|
58
|
+
* - The `abi` field is optional but provides type validation when present
|
|
60
59
|
* - ABI must match the exact function signature of the target entry function
|
|
61
60
|
*/
|
|
62
61
|
export interface CustomTransactionParams {
|
|
@@ -93,9 +92,9 @@ export interface CustomTransactionParams {
|
|
|
93
92
|
*/
|
|
94
93
|
functionArguments?: Array<EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes>;
|
|
95
94
|
/**
|
|
96
|
-
* Entry function ABI for type validation and safety (
|
|
95
|
+
* Entry function ABI for type validation and safety (optional)
|
|
97
96
|
*
|
|
98
|
-
*
|
|
97
|
+
* When provided:
|
|
99
98
|
* - Validates argument count matches expected parameters
|
|
100
99
|
* - Performs type checking during transaction building
|
|
101
100
|
* - Improves error messages for invalid calls
|
|
@@ -104,6 +103,6 @@ export interface CustomTransactionParams {
|
|
|
104
103
|
* - Providing incorrect ABI will cause transaction building to fail
|
|
105
104
|
* - Must match the exact function signature of the target entry function
|
|
106
105
|
*/
|
|
107
|
-
abi
|
|
106
|
+
abi?: EntryFunctionABI;
|
|
108
107
|
}
|
|
109
108
|
//# sourceMappingURL=iface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,IAAI,0BAA0B,EACpD,oBAAoB,EACpB,eAAe,IAAI,oBAAoB,EACxC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAEpH,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,EAAE,oBAAoB,CAAC;IAChC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE;QACV,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAChC,mBAAmB,EAAE,UAAU,EAAE,CAAC;KACnC,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;CAClB;AAED
|
|
1
|
+
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,IAAI,0BAA0B,EACpD,oBAAoB,EACpB,eAAe,IAAI,oBAAoB,EACxC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAEpH,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,EAAE,oBAAoB,CAAC;IAChC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE;QACV,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAChC,mBAAmB,EAAE,UAAU,EAAE,CAAC;KACnC,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,0BAA0B,GAAG,gCAAgC,CAAC,CAAC;IAEzF;;;;;;;;;;;OAWG;IACH,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB"}
|
package/dist/src/lib/iface.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlIGFzIEJpdEdvVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBFbnRyeUZ1bmN0aW9uQUJJLCBFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcywgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXMgfSBmcm9tICdAYXB0b3MtbGFicy90cy1zZGsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwdFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlbmRlcj86IHN0cmluZztcbiAgdHlwZT86IEJpdEdvVHJhbnNhY3Rpb25UeXBlO1xufVxuXG4vKipcbiAqIFRoZSB0cmFuc2FjdGlvbiBkYXRhIHJldHVybmVkIGZyb20gdGhlIHRvSnNvbigpIGZ1bmN0aW9uIG9mIGEgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZDogc3RyaW5nO1xuICBzZW5kZXI6IHN0cmluZztcbiAgLyoqIEBkZXByZWNhdGVkIC0gdXNlIGByZWNpcGllbnRzYC4gKi9cbiAgcmVjaXBpZW50OiBUcmFuc2FjdGlvblJlY2lwaWVudDtcbiAgcmVjaXBpZW50czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgc2VxdWVuY2VOdW1iZXI6IG51bWJlcjtcbiAgbWF4R2FzQW1vdW50OiBudW1iZXI7XG4gIGdhc1VuaXRQcmljZTogbnVtYmVyO1xuICBnYXNVc2VkOiBudW1iZXI7XG4gIGV4cGlyYXRpb25UaW1lOiBudW1iZXI7XG4gIGZlZVBheWVyOiBzdHJpbmc7XG4gIGFzc2V0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNpcGllbnRzVmFsaWRhdGlvblJlc3VsdCB7XG4gIHJlY2lwaWVudHM6IHtcbiAgICBkZXNlcmlhbGl6ZWRBZGRyZXNzZXM6IHN0cmluZ1tdO1xuICAgIGRlc2VyaWFsaXplZEFtb3VudHM6IFVpbnQ4QXJyYXlbXTtcbiAgfTtcbiAgaXNWYWxpZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciBjdXN0b20gQXB0b3MgZW50cnkgZnVuY3Rpb24gdHJhbnNhY3Rpb25zLlxuICpcbiAqIEVuYWJsZXMgY2FsbGluZyBhbnkgQXB0b3MgZW50cnkgZnVuY3Rpb24gd2hpbGUgbWFpbnRhaW5pbmcgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIEJpdEdvIFNESyBwYXR0ZXJucy5cbiAqIEVudHJ5IGZ1bmN0aW9ucyBhcmUgdGhlIHN0YW5kYXJkIHdheSB0byBpbnRlcmFjdCB3aXRoIEFwdG9zIHNtYXJ0IGNvbnRyYWN0cyBhbmQgc3lzdGVtIGZ1bmN0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyBBUFQgY29pbiB0cmFuc2ZlciAoZXF1aXZhbGVudCB0byBzdGFuZGFyZCB0cmFuc2Zlcik6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB7XG4gKiAgIG1vZHVsZU5hbWU6IFwiMHgxOjphcHRvc19hY2NvdW50XCIsXG4gKiAgIGZ1bmN0aW9uTmFtZTogXCJ0cmFuc2Zlcl9jb2luc1wiLFxuICogICB0eXBlQXJndW1lbnRzOiBbXCIweDE6OmFwdG9zX2NvaW46OkFwdG9zQ29pblwiXSxcbiAqICAgZnVuY3Rpb25Bcmd1bWVudHM6IFtcIjB4MTIzLi4uXCIsIDEwMDAwMDBdIC8vIFtyZWNpcGllbnQsIGFtb3VudF1cbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIEN1c3RvbSBzbWFydCBjb250cmFjdCBjYWxsOlxuICogYGBgdHlwZXNjcmlwdFxuICoge1xuICogICBtb2R1bGVOYW1lOiBcIjB4ODY3ZWQxZjZiZjkxNjE3MWIxZGUzZWU5Mjg0OWI4OTc4YjdkMWI5ZTBhOGNjOTgyYTNkMTlkNTM1ZGZkOWMwYzo6YXB0b3NfbmFtZXNfdjFcIixcbiAqICAgZnVuY3Rpb25OYW1lOiBcInJlZ2lzdGVyX2RvbWFpblwiLFxuICogICB0eXBlQXJndW1lbnRzOiBbXSxcbiAqICAgZnVuY3Rpb25Bcmd1bWVudHM6IFtcIm15ZG9tYWluXCIsIDFdIC8vIFtkb21haW5fbmFtZSwgeWVhcnNdXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcmVtYXJrc1xuICogLSBUaGUgYGFiaWAgZmllbGQgaXMgb3B0aW9uYWwgYnV0IHByb3ZpZGVzIHR5cGUgdmFsaWRhdGlvbiB3aGVuIHByZXNlbnRcbiAqIC0gQUJJIG11c3QgbWF0Y2ggdGhlIGV4YWN0IGZ1bmN0aW9uIHNpZ25hdHVyZSBvZiB0aGUgdGFyZ2V0IGVudHJ5IGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tVHJhbnNhY3Rpb25QYXJhbXMge1xuICAvKipcbiAgICogRnVsbHkgcXVhbGlmaWVkIG1vZHVsZSBuYW1lIGluIGZvcm1hdCBcImFkZHJlc3M6Om1vZHVsZV9uYW1lXCJcbiAgICpcbiAgICogQGV4YW1wbGUgXCIweDE6OmFwdG9zX2FjY291bnRcIiAoc3lzdGVtIG1vZHVsZSlcbiAgICogQGV4YW1wbGUgXCIweDg2N2VkMWY2YmY5MTYxNzFiMWRlM2VlOTI4NDliODk3OGI3ZDFiOWUwYThjYzk4MmEzZDE5ZDUzNWRmZDljMGM6OmFwdG9zX25hbWVzX3YxXCIgKGN1c3RvbSBjb250cmFjdClcbiAgICovXG4gIG1vZHVsZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRW50cnkgZnVuY3Rpb24gbmFtZSB0byBjYWxsIHdpdGhpbiB0aGUgc3BlY2lmaWVkIG1vZHVsZVxuICAgKlxuICAgKiBAZXhhbXBsZSBcInRyYW5zZmVyX2NvaW5zXCIsIFwicmVnaXN0ZXJfZG9tYWluXCIsIFwiY3JlYXRlX2FjY291bnRcIlxuICAgKi9cbiAgZnVuY3Rpb25OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFR5cGUgYXJndW1lbnRzIGZvciBnZW5lcmljIGZ1bmN0aW9ucyAob3B0aW9uYWwpXG4gICAqXG4gICAqIFVzZWQgZm9yIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBnZW5lcmljIHR5cGVzIGxpa2UgQ29pbjxUPi5cbiAgICpcbiAgICogQGV4YW1wbGUgW1wiMHgxOjphcHRvc19jb2luOjpBcHRvc0NvaW5cIl0gZm9yIGNvaW4gdHJhbnNmZXJzXG4gICAqIEBleGFtcGxlIFtdIGZvciBmdW5jdGlvbnMgd2l0aG91dCBnZW5lcmljIHBhcmFtZXRlcnNcbiAgICovXG4gIHR5cGVBcmd1bWVudHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRnVuY3Rpb24gYXJndW1lbnRzIGluIHRoZSBvcmRlciBleHBlY3RlZCBieSB0aGUgZW50cnkgZnVuY3Rpb24gKG9wdGlvbmFsKVxuICAgKlxuICAgKiBBcmd1bWVudHMgYXJlIGF1dG9tYXRpY2FsbHkgc2VyaWFsaXplZCBiYXNlZCBvbiB0aGVpciBKYXZhU2NyaXB0IHR5cGVzLlxuICAgKiBVc2UgYXBwcm9wcmlhdGUgdHlwZXM6IHN0cmluZ3MgZm9yIGFkZHJlc3NlcywgbnVtYmVycy9CaWdJbnRzIGZvciBhbW91bnRzLlxuICAgKlxuICAgKiBAZXhhbXBsZSBbcmVjaXBpZW50X2FkZHJlc3MsIGFtb3VudF0gZm9yIHRyYW5zZmVyc1xuICAgKiBAZXhhbXBsZSBbZG9tYWluX25hbWUsIGR1cmF0aW9uXSBmb3IgZG9tYWluIHJlZ2lzdHJhdGlvblxuICAgKi9cbiAgZnVuY3Rpb25Bcmd1bWVudHM/OiBBcnJheTxFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcyB8IFNpbXBsZUVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzPjtcblxuICAvKipcbiAgICogRW50cnkgZnVuY3Rpb24gQUJJIGZvciB0eXBlIHZhbGlkYXRpb24gYW5kIHNhZmV0eSAob3B0aW9uYWwpXG4gICAqXG4gICAqIFdoZW4gcHJvdmlkZWQ6XG4gICAqIC0gVmFsaWRhdGVzIGFyZ3VtZW50IGNvdW50IG1hdGNoZXMgZXhwZWN0ZWQgcGFyYW1ldGVyc1xuICAgKiAtIFBlcmZvcm1zIHR5cGUgY2hlY2tpbmcgZHVyaW5nIHRyYW5zYWN0aW9uIGJ1aWxkaW5nXG4gICAqIC0gSW1wcm92ZXMgZXJyb3IgbWVzc2FnZXMgZm9yIGludmFsaWQgY2FsbHNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogLSBQcm92aWRpbmcgaW5jb3JyZWN0IEFCSSB3aWxsIGNhdXNlIHRyYW5zYWN0aW9uIGJ1aWxkaW5nIHRvIGZhaWxcbiAgICogLSBNdXN0IG1hdGNoIHRoZSBleGFjdCBmdW5jdGlvbiBzaWduYXR1cmUgb2YgdGhlIHRhcmdldCBlbnRyeSBmdW5jdGlvblxuICAgKi9cbiAgYWJpPzogRW50cnlGdW5jdGlvbkFCSTtcbn1cbiJdfQ==
|
|
@@ -3,31 +3,25 @@ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
|
3
3
|
import { EntryFunctionABI, InputGenerateTransactionPayloadData, TransactionPayload } from '@aptos-labs/ts-sdk';
|
|
4
4
|
import { CustomTransactionParams } from '../iface';
|
|
5
5
|
/**
|
|
6
|
-
* Transaction class for custom Aptos transactions
|
|
6
|
+
* Transaction class for custom Aptos transactions.
|
|
7
7
|
*/
|
|
8
8
|
export declare class CustomTransaction extends Transaction {
|
|
9
9
|
private _moduleName;
|
|
10
10
|
private _functionName;
|
|
11
11
|
private _typeArguments;
|
|
12
12
|
private _functionArguments;
|
|
13
|
-
private _entryFunctionAbi
|
|
13
|
+
private _entryFunctionAbi?;
|
|
14
14
|
constructor(coinConfig: Readonly<CoinConfig>);
|
|
15
15
|
/**
|
|
16
16
|
* Set the custom transaction parameters
|
|
17
|
-
*
|
|
18
|
-
* @param {CustomTransactionParams} params - Custom transaction parameters
|
|
19
17
|
*/
|
|
20
18
|
setCustomTransactionParams(params: CustomTransactionParams): void;
|
|
21
19
|
/**
|
|
22
20
|
* Set the entry function ABI
|
|
23
|
-
*
|
|
24
|
-
* @param {EntryFunctionABI} abi - The ABI definition for the entry function
|
|
25
21
|
*/
|
|
26
22
|
setEntryFunctionAbi(abi: EntryFunctionABI): void;
|
|
27
23
|
/**
|
|
28
|
-
* Get the full function name
|
|
29
|
-
*
|
|
30
|
-
* @returns {string} The full function name
|
|
24
|
+
* Get the full function name
|
|
31
25
|
*/
|
|
32
26
|
get fullFunctionName(): string;
|
|
33
27
|
/**
|
|
@@ -37,37 +31,24 @@ export declare class CustomTransaction extends Transaction {
|
|
|
37
31
|
*/
|
|
38
32
|
protected parseTransactionPayload(payload: TransactionPayload): void;
|
|
39
33
|
/**
|
|
40
|
-
* Generate
|
|
41
|
-
*
|
|
42
|
-
* @returns {InputGenerateTransactionPayloadData} The transaction payload data
|
|
34
|
+
* Generate transaction payload data
|
|
43
35
|
*/
|
|
44
36
|
protected getTransactionPayloadData(): InputGenerateTransactionPayloadData;
|
|
45
37
|
/**
|
|
46
|
-
*
|
|
47
|
-
|
|
48
|
-
|
|
38
|
+
* Convert argument based on ABI type information
|
|
39
|
+
*/
|
|
40
|
+
private convertArgumentByABI;
|
|
41
|
+
/**
|
|
42
|
+
* Get custom transaction parameters
|
|
49
43
|
*/
|
|
50
44
|
getCustomTransactionParams(): CustomTransactionParams;
|
|
51
45
|
/**
|
|
52
|
-
* Override
|
|
53
|
-
* Custom transactions may not have traditional recipients
|
|
54
|
-
*
|
|
55
|
-
* @deprecated - use `recipients()`
|
|
46
|
+
* Override recipient getter for custom transactions
|
|
56
47
|
*/
|
|
57
48
|
get recipient(): any;
|
|
58
49
|
/**
|
|
59
|
-
* Get validated full function name
|
|
60
|
-
*
|
|
61
|
-
* @returns {string} The validated full function name
|
|
62
|
-
* @throws {Error} If function name format is invalid
|
|
50
|
+
* Get validated full function name
|
|
63
51
|
*/
|
|
64
52
|
private getValidatedFullFunctionName;
|
|
65
|
-
/**
|
|
66
|
-
* Validate ABI structure and provide helpful error messages
|
|
67
|
-
*
|
|
68
|
-
* @param {EntryFunctionABI} abi - The ABI to validate
|
|
69
|
-
* @throws {Error} If ABI format is invalid
|
|
70
|
-
*/
|
|
71
|
-
private validateAbi;
|
|
72
53
|
}
|
|
73
54
|
//# sourceMappingURL=customTransaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/customTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"customTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/customTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACL,gBAAgB,EAGhB,mCAAmC,EACnC,kBAAkB,EAWnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGnD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,kBAAkB,CAA4E;IACtG,OAAO,CAAC,iBAAiB,CAAC,CAAmB;gBAEjC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK5C;;OAEG;IACH,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAWjE;;OAEG;IACH,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAIhD;;OAEG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAK7B;IAED;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAkCpE;;OAEG;IACH,SAAS,CAAC,yBAAyB,IAAI,mCAAmC;IA8B1E;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuF5B;;OAEG;IACH,0BAA0B,IAAI,uBAAuB;IAUrD;;OAEG;IACH,IAAI,SAAS,IAAI,GAAG,CAQnB;IAED;;OAEG;IACH,OAAO,CAAC,4BAA4B;CAgBrC"}
|
|
@@ -6,7 +6,7 @@ const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
|
6
6
|
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
|
|
7
7
|
const validation_1 = require("../utils/validation");
|
|
8
8
|
/**
|
|
9
|
-
* Transaction class for custom Aptos transactions
|
|
9
|
+
* Transaction class for custom Aptos transactions.
|
|
10
10
|
*/
|
|
11
11
|
class CustomTransaction extends transaction_1.Transaction {
|
|
12
12
|
constructor(coinConfig) {
|
|
@@ -17,13 +17,10 @@ class CustomTransaction extends transaction_1.Transaction {
|
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Set the custom transaction parameters
|
|
20
|
-
*
|
|
21
|
-
* @param {CustomTransactionParams} params - Custom transaction parameters
|
|
22
20
|
*/
|
|
23
21
|
setCustomTransactionParams(params) {
|
|
24
22
|
(0, validation_1.validateModuleName)(params.moduleName);
|
|
25
23
|
(0, validation_1.validateFunctionName)(params.functionName);
|
|
26
|
-
this.validateAbi(params.abi);
|
|
27
24
|
this._moduleName = params.moduleName;
|
|
28
25
|
this._functionName = params.functionName;
|
|
29
26
|
this._typeArguments = params.typeArguments || [];
|
|
@@ -32,16 +29,12 @@ class CustomTransaction extends transaction_1.Transaction {
|
|
|
32
29
|
}
|
|
33
30
|
/**
|
|
34
31
|
* Set the entry function ABI
|
|
35
|
-
*
|
|
36
|
-
* @param {EntryFunctionABI} abi - The ABI definition for the entry function
|
|
37
32
|
*/
|
|
38
33
|
setEntryFunctionAbi(abi) {
|
|
39
34
|
this._entryFunctionAbi = abi;
|
|
40
35
|
}
|
|
41
36
|
/**
|
|
42
|
-
* Get the full function name
|
|
43
|
-
*
|
|
44
|
-
* @returns {string} The full function name
|
|
37
|
+
* Get the full function name
|
|
45
38
|
*/
|
|
46
39
|
get fullFunctionName() {
|
|
47
40
|
if (!this._moduleName || !this._functionName) {
|
|
@@ -56,7 +49,7 @@ class CustomTransaction extends transaction_1.Transaction {
|
|
|
56
49
|
*/
|
|
57
50
|
parseTransactionPayload(payload) {
|
|
58
51
|
if (!(payload instanceof ts_sdk_1.TransactionPayloadEntryFunction)) {
|
|
59
|
-
throw new
|
|
52
|
+
throw new sdk_core_1.InvalidTransactionError('Expected entry function payload for custom transaction');
|
|
60
53
|
}
|
|
61
54
|
const entryFunction = payload.entryFunction;
|
|
62
55
|
// Extract function data
|
|
@@ -64,33 +57,135 @@ class CustomTransaction extends transaction_1.Transaction {
|
|
|
64
57
|
const moduleIdentifier = entryFunction.module_name.name.identifier;
|
|
65
58
|
const functionIdentifier = entryFunction.function_name.identifier;
|
|
66
59
|
const moduleName = `${moduleAddress}::${moduleIdentifier}`;
|
|
67
|
-
// Validate
|
|
60
|
+
// Validate
|
|
68
61
|
(0, validation_1.validateModuleName)(moduleName);
|
|
69
62
|
(0, validation_1.validateFunctionName)(functionIdentifier);
|
|
70
63
|
this._moduleName = moduleName;
|
|
71
64
|
this._functionName = functionIdentifier;
|
|
72
|
-
// Extract type arguments and function arguments
|
|
73
65
|
this._typeArguments = entryFunction.type_args.map((typeArg) => typeArg.toString());
|
|
74
|
-
this._functionArguments = entryFunction.args
|
|
66
|
+
this._functionArguments = entryFunction.args.map((arg) => {
|
|
67
|
+
if (typeof arg === 'string' || typeof arg === 'number' || typeof arg === 'boolean') {
|
|
68
|
+
return arg;
|
|
69
|
+
}
|
|
70
|
+
if (arg && typeof arg === 'object' && 'data' in arg && arg.data) {
|
|
71
|
+
const bytes = Array.from(arg.data);
|
|
72
|
+
return '0x' + bytes.map((b) => b.toString(16).padStart(2, '0')).join('');
|
|
73
|
+
}
|
|
74
|
+
return arg;
|
|
75
|
+
});
|
|
75
76
|
}
|
|
76
77
|
/**
|
|
77
|
-
* Generate
|
|
78
|
-
*
|
|
79
|
-
* @returns {InputGenerateTransactionPayloadData} The transaction payload data
|
|
78
|
+
* Generate transaction payload data
|
|
80
79
|
*/
|
|
81
80
|
getTransactionPayloadData() {
|
|
82
81
|
const functionName = this.getValidatedFullFunctionName();
|
|
82
|
+
// Convert arguments based on ABI information if available
|
|
83
|
+
const processedArguments = this._functionArguments.map((arg, index) => {
|
|
84
|
+
// Use ABI to identify the expected type for this argument
|
|
85
|
+
const paramType = this._entryFunctionAbi?.parameters?.[index];
|
|
86
|
+
if (paramType) {
|
|
87
|
+
return this.convertArgumentByABI(arg, paramType);
|
|
88
|
+
}
|
|
89
|
+
// Fallback: basic conversion for common cases
|
|
90
|
+
if (typeof arg === 'string' && arg.startsWith('0x') && arg.length === 66) {
|
|
91
|
+
try {
|
|
92
|
+
return ts_sdk_1.AccountAddress.fromString(arg);
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return arg;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return arg;
|
|
99
|
+
});
|
|
83
100
|
return {
|
|
84
101
|
function: functionName,
|
|
85
102
|
typeArguments: this._typeArguments,
|
|
86
|
-
functionArguments:
|
|
103
|
+
functionArguments: processedArguments,
|
|
87
104
|
abi: this._entryFunctionAbi,
|
|
88
105
|
};
|
|
89
106
|
}
|
|
90
107
|
/**
|
|
91
|
-
*
|
|
92
|
-
|
|
93
|
-
|
|
108
|
+
* Convert argument based on ABI type information
|
|
109
|
+
*/
|
|
110
|
+
convertArgumentByABI(arg, paramType) {
|
|
111
|
+
// Helper function to convert bytes to hex string
|
|
112
|
+
const bytesToHex = (bytes) => {
|
|
113
|
+
return '0x' + bytes.map((b) => b.toString(16).padStart(2, '0')).join('');
|
|
114
|
+
};
|
|
115
|
+
// Helper function to try converting a hex string to an AccountAddress
|
|
116
|
+
const tryToAddress = (hexStr) => {
|
|
117
|
+
try {
|
|
118
|
+
return ts_sdk_1.AccountAddress.fromString(hexStr);
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return hexStr;
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
// Handle primitive values (string, number, boolean)
|
|
125
|
+
if (typeof arg === 'string' || typeof arg === 'number' || typeof arg === 'boolean') {
|
|
126
|
+
// Address conversion for hex strings
|
|
127
|
+
if (paramType instanceof ts_sdk_1.TypeTagAddress && typeof arg === 'string' && arg.startsWith('0x')) {
|
|
128
|
+
return tryToAddress(arg);
|
|
129
|
+
}
|
|
130
|
+
// Type conversions based on parameter type
|
|
131
|
+
if (paramType instanceof ts_sdk_1.TypeTagBool)
|
|
132
|
+
return Boolean(arg);
|
|
133
|
+
if (paramType instanceof ts_sdk_1.TypeTagU8 || paramType instanceof ts_sdk_1.TypeTagU16 || paramType instanceof ts_sdk_1.TypeTagU32)
|
|
134
|
+
return Number(arg);
|
|
135
|
+
if (paramType instanceof ts_sdk_1.TypeTagU64 || paramType instanceof ts_sdk_1.TypeTagU128 || paramType instanceof ts_sdk_1.TypeTagU256)
|
|
136
|
+
return String(arg);
|
|
137
|
+
return arg;
|
|
138
|
+
}
|
|
139
|
+
// Handle BCS-encoded data with 'data' property
|
|
140
|
+
if (arg && typeof arg === 'object' && 'data' in arg && arg.data) {
|
|
141
|
+
const bytes = Array.from(arg.data);
|
|
142
|
+
const hexString = bytesToHex(bytes);
|
|
143
|
+
return paramType instanceof ts_sdk_1.TypeTagAddress ? tryToAddress(hexString) : hexString;
|
|
144
|
+
}
|
|
145
|
+
// Handle nested BCS structures with 'value' property
|
|
146
|
+
if (arg && typeof arg === 'object' && 'value' in arg && arg.value) {
|
|
147
|
+
// Simple value wrapper
|
|
148
|
+
if (!('value' in arg.value) || typeof arg.value.value !== 'object') {
|
|
149
|
+
return this.convertArgumentByABI(arg.value, paramType);
|
|
150
|
+
}
|
|
151
|
+
// Double nested structure with numeric keys
|
|
152
|
+
const bytesObj = arg.value.value;
|
|
153
|
+
const keys = Object.keys(bytesObj)
|
|
154
|
+
.filter((k) => !isNaN(parseInt(k, 10)))
|
|
155
|
+
.sort((a, b) => parseInt(a, 10) - parseInt(b, 10));
|
|
156
|
+
if (keys.length === 0)
|
|
157
|
+
return arg;
|
|
158
|
+
const bytes = keys.map((k) => bytesObj[k]);
|
|
159
|
+
let extractedValue;
|
|
160
|
+
// Convert bytes based on parameter type
|
|
161
|
+
if (paramType instanceof ts_sdk_1.TypeTagAddress ||
|
|
162
|
+
paramType instanceof ts_sdk_1.TypeTagU64 ||
|
|
163
|
+
paramType instanceof ts_sdk_1.TypeTagU128 ||
|
|
164
|
+
paramType instanceof ts_sdk_1.TypeTagU256) {
|
|
165
|
+
extractedValue = bytesToHex(bytes);
|
|
166
|
+
}
|
|
167
|
+
else if (paramType instanceof ts_sdk_1.TypeTagBool) {
|
|
168
|
+
extractedValue = bytes[0] === 1;
|
|
169
|
+
}
|
|
170
|
+
else if (paramType instanceof ts_sdk_1.TypeTagU8 || paramType instanceof ts_sdk_1.TypeTagU16 || paramType instanceof ts_sdk_1.TypeTagU32) {
|
|
171
|
+
// Convert little-endian bytes to number using the original algorithm
|
|
172
|
+
// to ensure consistent behavior with large numbers
|
|
173
|
+
let result = 0;
|
|
174
|
+
for (let i = bytes.length - 1; i >= 0; i--) {
|
|
175
|
+
result = result * 256 + bytes[i];
|
|
176
|
+
}
|
|
177
|
+
extractedValue = result;
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
extractedValue = bytesToHex(bytes);
|
|
181
|
+
}
|
|
182
|
+
return this.convertArgumentByABI(extractedValue, paramType);
|
|
183
|
+
}
|
|
184
|
+
// For anything else, return as-is
|
|
185
|
+
return arg;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Get custom transaction parameters
|
|
94
189
|
*/
|
|
95
190
|
getCustomTransactionParams() {
|
|
96
191
|
return {
|
|
@@ -102,57 +197,32 @@ class CustomTransaction extends transaction_1.Transaction {
|
|
|
102
197
|
};
|
|
103
198
|
}
|
|
104
199
|
/**
|
|
105
|
-
* Override
|
|
106
|
-
* Custom transactions may not have traditional recipients
|
|
107
|
-
*
|
|
108
|
-
* @deprecated - use `recipients()`
|
|
200
|
+
* Override recipient getter for custom transactions
|
|
109
201
|
*/
|
|
110
202
|
get recipient() {
|
|
111
|
-
// For custom transactions, return a placeholder recipient if no recipients exist
|
|
112
203
|
if (this._recipients.length === 0) {
|
|
113
204
|
return {
|
|
114
|
-
address: '',
|
|
205
|
+
address: '',
|
|
115
206
|
amount: '0',
|
|
116
207
|
};
|
|
117
208
|
}
|
|
118
209
|
return this._recipients[0];
|
|
119
210
|
}
|
|
120
211
|
/**
|
|
121
|
-
* Get validated full function name
|
|
122
|
-
*
|
|
123
|
-
* @returns {string} The validated full function name
|
|
124
|
-
* @throws {Error} If function name format is invalid
|
|
212
|
+
* Get validated full function name
|
|
125
213
|
*/
|
|
126
214
|
getValidatedFullFunctionName() {
|
|
127
215
|
if (!this._moduleName || !this._functionName) {
|
|
128
216
|
throw new Error('Module name and function name must be set before building transaction');
|
|
129
217
|
}
|
|
130
218
|
const fullName = `${this._moduleName}::${this._functionName}`;
|
|
131
|
-
//
|
|
132
|
-
// Supports both hex addresses (SHORT/LONG) and named addresses
|
|
219
|
+
// Basic validation
|
|
133
220
|
const fullFunctionPattern = /^(0x[a-fA-F0-9]{1,64}|[a-zA-Z_][a-zA-Z0-9_]*)::[a-zA-Z_][a-zA-Z0-9_]*::[a-zA-Z_][a-zA-Z0-9_]*$/;
|
|
134
221
|
if (!fullFunctionPattern.test(fullName)) {
|
|
135
222
|
throw new Error(`Invalid full function name format: "${fullName}". Expected format: "address::module::function"`);
|
|
136
223
|
}
|
|
137
224
|
return fullName;
|
|
138
225
|
}
|
|
139
|
-
/**
|
|
140
|
-
* Validate ABI structure and provide helpful error messages
|
|
141
|
-
*
|
|
142
|
-
* @param {EntryFunctionABI} abi - The ABI to validate
|
|
143
|
-
* @throws {Error} If ABI format is invalid
|
|
144
|
-
*/
|
|
145
|
-
validateAbi(abi) {
|
|
146
|
-
if (!abi || typeof abi !== 'object') {
|
|
147
|
-
throw new Error('ABI must be a valid EntryFunctionABI object');
|
|
148
|
-
}
|
|
149
|
-
if (!Array.isArray(abi.typeParameters)) {
|
|
150
|
-
throw new Error('ABI must have a typeParameters array. Use [] if the function has no type parameters');
|
|
151
|
-
}
|
|
152
|
-
if (!Array.isArray(abi.parameters)) {
|
|
153
|
-
throw new Error('ABI must have a parameters array containing TypeTag objects for each function parameter');
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
226
|
}
|
|
157
227
|
exports.CustomTransaction = CustomTransaction;
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL2N1c3RvbVRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUE0QztBQUU1QyxtREFBdUQ7QUFDdkQsK0NBTzRCO0FBRTVCLG9EQUErRTtBQUUvRTs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEseUJBQVc7SUFPaEQsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFMWixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5Qix1QkFBa0IsR0FBeUUsRUFBRSxDQUFDO1FBS3BHLElBQUksQ0FBQyxLQUFLLEdBQUcsMEJBQWUsQ0FBQyxRQUFRLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCwwQkFBMEIsQ0FBQyxNQUErQjtRQUN4RCxJQUFBLCtCQUFrQixFQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFBLGlDQUFvQixFQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxHQUFxQjtRQUN2QyxJQUFJ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QUUsQ0FBQztZQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RSxDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFOUQsNENBQTRDO1FBQzVDLCtEQUErRDtRQUMvRCxNQUFNLG1CQUFtQixHQUN2QixnR0FBZ0csQ0FBQztRQUNuRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsUUFBUSxpREFBaUQsQ0FBQyxDQUFDO1FBQ3BILENBQUM7UUFFRCxPQUFPLFFBQTZDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssV0FBVyxDQUFDLEdBQXFCO1FBQ3ZDLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLHFGQUFxRixDQUFDLENBQUM7UUFDekcsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMseUZBQXlGLENBQUMsQ0FBQztRQUM3RyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBOUtELDhDQThLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQge1xuICBFbnRyeUZ1bmN0aW9uQUJJLFxuICBFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcyxcbiAgSW5wdXRHZW5lcmF0ZVRyYW5zYWN0aW9uUGF5bG9hZERhdGEsXG4gIFNpbXBsZUVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzLFxuICBUcmFuc2FjdGlvblBheWxvYWQsXG4gIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24sXG59IGZyb20gJ0BhcHRvcy1sYWJzL3RzLXNkayc7XG5pbXBvcnQgeyBDdXN0b21UcmFuc2FjdGlvblBhcmFtcyB9IGZyb20gJy4uL2lmYWNlJztcbmltcG9ydCB7IHZhbGlkYXRlTW9kdWxlTmFtZSwgdmFsaWRhdGVGdW5jdGlvbk5hbWUgfSBmcm9tICcuLi91dGlscy92YWxpZGF0aW9uJztcblxuLyoqXG4gKiBUcmFuc2FjdGlvbiBjbGFzcyBmb3IgY3VzdG9tIEFwdG9zIHRyYW5zYWN0aW9ucyB3aXRoIGVudHJ5IGZ1bmN0aW9uIHBheWxvYWRzLlxuICovXG5leHBvcnQgY2xhc3MgQ3VzdG9tVHJhbnNhY3Rpb24gZXh0ZW5kcyBUcmFuc2FjdGlvbiB7XG4gIHByaXZhdGUgX21vZHVsZU5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfZnVuY3Rpb25OYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgX3R5cGVBcmd1bWVudHM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgX2Z1bmN0aW9uQXJndW1lbnRzOiBBcnJheTxFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcyB8IFNpbXBsZUVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzPiA9IFtdO1xuICBwcml2YXRlIF9lbnRyeUZ1bmN0aW9uQWJpOiBFbnRyeUZ1bmN0aW9uQUJJO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1c3RvbSB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzXG4gICAqXG4gICAqIEBwYXJhbSB7Q3VzdG9tVHJhbnNhY3Rpb25QYXJhbXN9IHBhcmFtcyAtIEN1c3RvbSB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzXG4gICAqL1xuICBzZXRDdXN0b21UcmFuc2FjdGlvblBhcmFtcyhwYXJhbXM6IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKTogdm9pZCB7XG4gICAgdmFsaWRhdGVNb2R1bGVOYW1lKHBhcmFtcy5tb2R1bGVOYW1lKTtcbiAgICB2YWxpZGF0ZUZ1bmN0aW9uTmFtZShwYXJhbXMuZnVuY3Rpb25OYW1lKTtcbiAgICB0aGlzLnZhbGlkYXRlQWJpKHBhcmFtcy5hYmkpO1xuXG4gICAgdGhpcy5fbW9kdWxlTmFtZSA9IHBhcmFtcy5tb2R1bGVOYW1lO1xuICAgIHRoaXMuX2Z1bmN0aW9uTmFtZSA9IHBhcmFtcy5mdW5jdGlvbk5hbWU7XG4gICAgdGhpcy5fdHlwZUFyZ3VtZW50cyA9IHBhcmFtcy50eXBlQXJndW1lbnRzIHx8IFtdO1xuICAgIHRoaXMuX2Z1bmN0aW9uQXJndW1lbnRzID0gcGFyYW1zLmZ1bmN0aW9uQXJndW1lbnRzIHx8IFtdO1xuICAgIHRoaXMuX2VudHJ5RnVuY3Rpb25BYmkgPSBwYXJhbXMuYWJpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZW50cnkgZnVuY3Rpb24gQUJJXG4gICAqXG4gICAqIEBwYXJhbSB7RW50cnlGdW5jdGlvbkFCSX0gYWJpIC0gVGhlIEFCSSBkZWZpbml0aW9uIGZvciB0aGUgZW50cnkgZnVuY3Rpb25cbiAgICovXG4gIHNldEVudHJ5RnVuY3Rpb25BYmkoYWJpOiBFbnRyeUZ1bmN0aW9uQUJJKTogdm9pZCB7XG4gICAgdGhpcy5fZW50cnlGdW5jdGlvbkFiaSA9IGFiaTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGZ1bGwgZnVuY3Rpb24gbmFtZSBpbiB0aGUgZm9ybWF0IG1vZHVsZU5hbWU6OmZ1bmN0aW9uTmFtZVxuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZnVsbCBmdW5jdGlvbiBuYW1lXG4gICAqL1xuICBnZXQgZnVsbEZ1bmN0aW9uTmFtZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fbW9kdWxlTmFtZSB8fCAhdGhpcy5fZnVuY3Rpb25OYW1lKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLl9tb2R1bGVOYW1lfTo6JHt0aGlzLl9mdW5jdGlvbk5hbWV9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhIHRyYW5zYWN0aW9uIHBheWxvYWQgdG8gZXh0cmFjdCB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblBheWxvYWR9IHBheWxvYWQgLSBUaGUgdHJhbnNhY3Rpb24gcGF5bG9hZCB0byBwYXJzZVxuICAgKi9cbiAgcHJvdGVjdGVkIHBhcnNlVHJhbnNhY3Rpb25QYXlsb2FkKHBheWxvYWQ6IFRyYW5zYWN0aW9uUGF5bG9hZCk6IHZvaWQge1xuICAgIGlmICghKHBheWxvYWQgaW5zdGFuY2VvZiBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBlbnRyeSBmdW5jdGlvbiBwYXlsb2FkIGZvciBjdXN0b20gdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyeUZ1bmN0aW9uID0gcGF5bG9hZC5lbnRyeUZ1bmN0aW9uO1xuXG4gICAgLy8gRXh0cmFjdCBmdW5jdGlvbiBkYXRhXG4gICAgY29uc3QgbW9kdWxlQWRkcmVzcyA9IGVudHJ5RnVuY3Rpb24ubW9kdWxlX25hbWUuYWRkcmVzcy50b1N0cmluZygpO1xuICAgIGNvbnN0IG1vZHVsZUlkZW50aWZpZXIgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLm5hbWUuaWRlbnRpZmllcjtcbiAgICBjb25zdCBmdW5jdGlvbklkZW50aWZpZXIgPSBlbnRyeUZ1bmN0aW9uLmZ1bmN0aW9uX25hbWUuaWRlbnRpZmllcjtcblxuICAgIGNvbnN0IG1vZHVsZU5hbWUgPSBgJHttb2R1bGVBZGRyZXNzfTo6JHttb2R1bGVJZGVudGlmaWVyfWA7XG5cbiAgICAvLyBWYWxpZGF0ZSB0aGUgZXh0cmFjdGVkIG5hbWVzIHVzaW5nIG91ciBleGlzdGluZyB2YWxpZGF0aW9uXG4gICAgdmFsaWRhdGVNb2R1bGVOYW1lKG1vZHVsZU5hbWUpO1xuICAgIHZhbGlkYXRlRnVuY3Rpb25OYW1lKGZ1bmN0aW9uSWRlbnRpZmllcik7XG5cbiAgICB0aGlzLl9tb2R1bGVOYW1lID0gbW9kdWxlTmFtZTtcbiAgICB0aGlzLl9mdW5jdGlvbk5hbWUgPSBmdW5jdGlvbklkZW50aWZpZXI7XG5cbiAgICAvLyBFeHRyYWN0IHR5cGUgYXJndW1lbnRzIGFuZCBmdW5jdGlvbiBhcmd1bWVudHNcbiAgICB0aGlzLl90eXBlQXJndW1lbnRzID0gZW50cnlGdW5jdGlvbi50eXBlX2FyZ3MubWFwKCh0eXBlQXJnKSA9PiB0eXBlQXJnLnRvU3RyaW5nKCkpO1xuICAgIHRoaXMuX2Z1bmN0aW9uQXJndW1lbnRzID0gZW50cnlGdW5jdGlvbi5hcmdzIGFzIEFycmF5PFxuICAgICAgRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXMgfCBTaW1wbGVFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlc1xuICAgID47XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgdGhlIHRyYW5zYWN0aW9uIHBheWxvYWQgZGF0YSBmb3IgdGhlIGN1c3RvbSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcmV0dXJucyB7SW5wdXRHZW5lcmF0ZVRyYW5zYWN0aW9uUGF5bG9hZERhdGF9IFRoZSB0cmFuc2FjdGlvbiBwYXlsb2FkIGRhdGFcbiAgICovXG4gIHByb3RlY3RlZCBnZXRUcmFuc2FjdGlvblBheWxvYWREYXRhKCk6IElucHV0R2VuZXJhdGVUcmFuc2FjdGlvblBheWxvYWREYXRhIHtcbiAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSB0aGlzLmdldFZhbGlkYXRlZEZ1bGxGdW5jdGlvbk5hbWUoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBmdW5jdGlvbjogZnVuY3Rpb25OYW1lLFxuICAgICAgdHlwZUFyZ3VtZW50czogdGhpcy5fdHlwZUFyZ3VtZW50cyxcbiAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyxcbiAgICAgIGFiaTogdGhpcy5fZW50cnlGdW5jdGlvbkFiaSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICpcbiAgICogQHJldHVybnMge0N1c3RvbVRyYW5zYWN0aW9uUGFyYW1zfSBUaGUgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIGdldEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKCk6IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlTmFtZTogdGhpcy5fbW9kdWxlTmFtZSB8fCAnJyxcbiAgICAgIGZ1bmN0aW9uTmFtZTogdGhpcy5fZnVuY3Rpb25OYW1lIHx8ICcnLFxuICAgICAgdHlwZUFyZ3VtZW50czogdGhpcy5fdHlwZUFyZ3VtZW50cyxcbiAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyxcbiAgICAgIGFiaTogdGhpcy5fZW50cnlGdW5jdGlvbkFiaSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSBkZXByZWNhdGVkIHJlY2lwaWVudCBnZXR0ZXIgdG8gaGFuZGxlIGN1c3RvbSB0cmFuc2FjdGlvbnMgZ3JhY2VmdWxseVxuICAgKiBDdXN0b20gdHJhbnNhY3Rpb25zIG1heSBub3QgaGF2ZSB0cmFkaXRpb25hbCByZWNpcGllbnRzXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIC0gdXNlIGByZWNpcGllbnRzKClgXG4gICAqL1xuICBnZXQgcmVjaXBpZW50KCk6IGFueSB7XG4gICAgLy8gRm9yIGN1c3RvbSB0cmFuc2FjdGlvbnMsIHJldHVybiBhIHBsYWNlaG9sZGVyIHJlY2lwaWVudCBpZiBubyByZWNpcGllbnRzIGV4aXN0XG4gICAgaWYgKHRoaXMuX3JlY2lwaWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhZGRyZXNzOiAnJywgLy8gRW1wdHkgYWRkcmVzcyBmb3IgY3VzdG9tIHRyYW5zYWN0aW9uc1xuICAgICAgICBhbW91bnQ6ICcwJyxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9yZWNpcGllbnRzWzBdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB2YWxpZGF0ZWQgZnVsbCBmdW5jdGlvbiBuYW1lIHdpdGggcnVudGltZSBmb3JtYXQgY2hlY2tpbmdcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIHZhbGlkYXRlZCBmdWxsIGZ1bmN0aW9uIG5hbWVcbiAgICogQHRocm93cyB7RXJyb3J9IElmIGZ1bmN0aW9uIG5hbWUgZm9ybWF0IGlzIGludmFsaWRcbiAgICovXG4gIHByaXZhdGUgZ2V0VmFsaWRhdGVkRnVsbEZ1bmN0aW9uTmFtZSgpOiBgJHtzdHJpbmd9Ojoke3N0cmluZ306OiR7c3RyaW5nfWAge1xuICAgIGlmICghdGhpcy5fbW9kdWxlTmFtZSB8fCAhdGhpcy5fZnVuY3Rpb25OYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01vZHVsZSBuYW1lIGFuZCBmdW5jdGlvbiBuYW1lIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IGZ1bGxOYW1lID0gYCR7dGhpcy5fbW9kdWxlTmFtZX06OiR7dGhpcy5fZnVuY3Rpb25OYW1lfWA7XG5cbiAgICAvLyBSdW50aW1lIHZhbGlkYXRpb24gb2YgdGhlIGV4cGVjdGVkIGZvcm1hdFxuICAgIC8vIFN1cHBvcnRzIGJvdGggaGV4IGFkZHJlc3NlcyAoU0hPUlQvTE9ORykgYW5kIG5hbWVkIGFkZHJlc3Nlc1xuICAgIGNvbnN0IGZ1bGxGdW5jdGlvblBhdHRlcm4gPVxuICAgICAgL14oMHhbYS1mQS1GMC05XXsxLDY0fXxbYS16QS1aX11bYS16QS1aMC05X10qKTo6W2EtekEtWl9dW2EtekEtWjAtOV9dKjo6W2EtekEtWl9dW2EtekEtWjAtOV9dKiQvO1xuICAgIGlmICghZnVsbEZ1bmN0aW9uUGF0dGVybi50ZXN0KGZ1bGxOYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZ1bGwgZnVuY3Rpb24gbmFtZSBmb3JtYXQ6IFwiJHtmdWxsTmFtZX1cIi4gRXhwZWN0ZWQgZm9ybWF0OiBcImFkZHJlc3M6Om1vZHVsZTo6ZnVuY3Rpb25cImApO1xuICAgIH1cblxuICAgIHJldHVybiBmdWxsTmFtZSBhcyBgJHtzdHJpbmd9Ojoke3N0cmluZ306OiR7c3RyaW5nfWA7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgQUJJIHN0cnVjdHVyZSBhbmQgcHJvdmlkZSBoZWxwZnVsIGVycm9yIG1lc3NhZ2VzXG4gICAqXG4gICAqIEBwYXJhbSB7RW50cnlGdW5jdGlvbkFCSX0gYWJpIC0gVGhlIEFCSSB0byB2YWxpZGF0ZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgQUJJIGZvcm1hdCBpcyBpbnZhbGlkXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlQWJpKGFiaTogRW50cnlGdW5jdGlvbkFCSSk6IHZvaWQge1xuICAgIGlmICghYWJpIHx8IHR5cGVvZiBhYmkgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FCSSBtdXN0IGJlIGEgdmFsaWQgRW50cnlGdW5jdGlvbkFCSSBvYmplY3QnKTtcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWJpLnR5cGVQYXJhbWV0ZXJzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBQkkgbXVzdCBoYXZlIGEgdHlwZVBhcmFtZXRlcnMgYXJyYXkuIFVzZSBbXSBpZiB0aGUgZnVuY3Rpb24gaGFzIG5vIHR5cGUgcGFyYW1ldGVycycpO1xuICAgIH1cblxuICAgIGlmICghQXJyYXkuaXNBcnJheShhYmkucGFyYW1ldGVycykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQUJJIG11c3QgaGF2ZSBhIHBhcmFtZXRlcnMgYXJyYXkgY29udGFpbmluZyBUeXBlVGFnIG9iamVjdHMgZm9yIGVhY2ggZnVuY3Rpb24gcGFyYW1ldGVyJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL2N1c3RvbVRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUE0QztBQUU1QyxtREFBZ0Y7QUFDaEYsK0NBZ0I0QjtBQUU1QixvREFBK0U7QUFFL0U7O0dBRUc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLHlCQUFXO0lBT2hELFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBTFosbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFDOUIsdUJBQWtCLEdBQXlFLEVBQUUsQ0FBQztRQUtwRyxJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNILDBCQUEwQixDQUFDLE1BQStCO1FBQ3hELElBQUEsK0JBQWtCLEVBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUEsaUNBQW9CLEVBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDekMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUIsQ0FBQyxHQUFxQjtRQUN2QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNI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a0I7WUFDMUMsR0FBRyxFQUFFLElBQUksQ0FBQyxpQkFBaUI7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksU0FBUztRQUNYLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTztnQkFDTCxPQUFPLEVBQUUsRUFBRTtnQkFDWCxNQUFNLEVBQUUsR0FBRzthQUNaLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNLLDRCQUE0QjtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RSxDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFOUQsbUJBQW1CO1FBQ25CLE1BQU0sbUJBQW1CLEdBQ3ZCLGdHQUFnRyxDQUFDO1FBQ25HLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxRQUFRLGlEQUFpRCxDQUFDLENBQUM7UUFDcEgsQ0FBQztRQUVELE9BQU8sUUFBNkMsQ0FBQztJQUN2RCxDQUFDO0NBQ0Y7QUExUEQsOENBMFBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQge1xuICBFbnRyeUZ1bmN0aW9uQUJJLFxuICBFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcyxcbiAgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXMsXG4gIElucHV0R2VuZXJhdGVUcmFuc2FjdGlvblBheWxvYWREYXRhLFxuICBUcmFuc2FjdGlvblBheWxvYWQsXG4gIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24sXG4gIEFjY291bnRBZGRyZXNzLFxuICBUeXBlVGFnQWRkcmVzcyxcbiAgVHlwZVRhZ0Jvb2wsXG4gIFR5cGVUYWdVOCxcbiAgVHlwZVRhZ1UxNixcbiAgVHlwZVRhZ1UzMixcbiAgVHlwZVRhZ1U2NCxcbiAgVHlwZVRhZ1UxMjgsXG4gIFR5cGVUYWdVMjU2LFxufSBmcm9tICdAYXB0b3MtbGFicy90cy1zZGsnO1xuaW1wb3J0IHsgQ3VzdG9tVHJhbnNhY3Rpb25QYXJhbXMgfSBmcm9tICcuLi9pZmFjZSc7XG5pbXBvcnQgeyB2YWxpZGF0ZU1vZHVsZU5hbWUsIHZhbGlkYXRlRnVuY3Rpb25OYW1lIH0gZnJvbSAnLi4vdXRpbHMvdmFsaWRhdGlvbic7XG5cbi8qKlxuICogVHJhbnNhY3Rpb24gY2xhc3MgZm9yIGN1c3RvbSBBcHRvcyB0cmFuc2FjdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21UcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uIHtcbiAgcHJpdmF0ZSBfbW9kdWxlTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIF9mdW5jdGlvbk5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfdHlwZUFyZ3VtZW50czogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBfZnVuY3Rpb25Bcmd1bWVudHM6IEFycmF5PEVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzIHwgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXM+ID0gW107XG4gIHByaXZhdGUgX2VudHJ5RnVuY3Rpb25BYmk/OiBFbnRyeUZ1bmN0aW9uQUJJO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1c3RvbSB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzXG4gICAqL1xuICBzZXRDdXN0b21UcmFuc2FjdGlvblBhcmFtcyhwYXJhbXM6IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKTogdm9pZCB7XG4gICAgdmFsaWRhdGVNb2R1bGVOYW1lKHBhcmFtcy5tb2R1bGVOYW1lKTtcbiAgICB2YWxpZGF0ZUZ1bmN0aW9uTmFtZShwYXJhbXMuZnVuY3Rpb25OYW1lKTtcblxuICAgIHRoaXMuX21vZHVsZU5hbWUgPSBwYXJhbXMubW9kdWxlTmFtZTtcbiAgICB0aGlzLl9mdW5jdGlvbk5hbWUgPSBwYXJhbXMuZnVuY3Rpb25OYW1lO1xuICAgIHRoaXMuX3R5cGVBcmd1bWVudHMgPSBwYXJhbXMudHlwZUFyZ3VtZW50cyB8fCBbXTtcbiAgICB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyA9IHBhcmFtcy5mdW5jdGlvbkFyZ3VtZW50cyB8fCBbXTtcbiAgICB0aGlzLl9lbnRyeUZ1bmN0aW9uQWJpID0gcGFyYW1zLmFiaTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGVudHJ5IGZ1bmN0aW9uIEFCSVxuICAgKi9cbiAgc2V0RW50cnlGdW5jdGlvbkFiaShhYmk6IEVudHJ5RnVuY3Rpb25BQkkpOiB2b2lkIHtcbiAgICB0aGlzLl9lbnRyeUZ1bmN0aW9uQWJpID0gYWJpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZnVsbCBmdW5jdGlvbiBuYW1lXG4gICAqL1xuICBnZXQgZnVsbEZ1bmN0aW9uTmFtZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fbW9kdWxlTmFtZSB8fCAhdGhpcy5fZnVuY3Rpb25OYW1lKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLl9tb2R1bGVOYW1lfTo6JHt0aGlzLl9mdW5jdGlvbk5hbWV9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhIHRyYW5zYWN0aW9uIHBheWxvYWQgdG8gZXh0cmFjdCB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblBheWxvYWR9IHBheWxvYWQgLSBUaGUgdHJhbnNhY3Rpb24gcGF5bG9hZCB0byBwYXJzZVxuICAgKi9cbiAgcHJvdGVjdGVkIHBhcnNlVHJhbnNhY3Rpb25QYXlsb2FkKHBheWxvYWQ6IFRyYW5zYWN0aW9uUGF5bG9hZCk6IHZvaWQge1xuICAgIGlmICghKHBheWxvYWQgaW5zdGFuY2VvZiBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFeHBlY3RlZCBlbnRyeSBmdW5jdGlvbiBwYXlsb2FkIGZvciBjdXN0b20gdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyeUZ1bmN0aW9uID0gcGF5bG9hZC5lbnRyeUZ1bmN0aW9uO1xuXG4gICAgLy8gRXh0cmFjdCBmdW5jdGlvbiBkYXRhXG4gICAgY29uc3QgbW9kdWxlQWRkcmVzcyA9IGVudHJ5RnVuY3Rpb24ubW9kdWxlX25hbWUuYWRkcmVzcy50b1N0cmluZygpO1xuICAgIGNvbnN0IG1vZHVsZUlkZW50aWZpZXIgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLm5hbWUuaWRlbnRpZmllcjtcbiAgICBjb25zdCBmdW5jdGlvbklkZW50aWZpZXIgPSBlbnRyeUZ1bmN0aW9uLmZ1bmN0aW9uX25hbWUuaWRlbnRpZmllcjtcblxuICAgIGNvbnN0IG1vZHVsZU5hbWUgPSBgJHttb2R1bGVBZGRyZXNzfTo6JHttb2R1bGVJZGVudGlmaWVyfWA7XG5cbiAgICAvLyBWYWxpZGF0ZVxuICAgIHZhbGlkYXRlTW9kdWxlTmFtZShtb2R1bGVOYW1lKTtcbiAgICB2YWxpZGF0ZUZ1bmN0aW9uTmFtZShmdW5jdGlvbklkZW50aWZpZXIpO1xuXG4gICAgdGhpcy5fbW9kdWxlTmFtZSA9IG1vZHVsZU5hbWU7XG4gICAgdGhpcy5fZnVuY3Rpb25OYW1lID0gZnVuY3Rpb25JZGVudGlmaWVyO1xuICAgIHRoaXMuX3R5cGVBcmd1bWVudHMgPSBlbnRyeUZ1bmN0aW9uLnR5cGVfYXJncy5tYXAoKHR5cGVBcmcpID0+IHR5cGVBcmcudG9TdHJpbmcoKSk7XG5cbiAgICB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyA9IGVudHJ5RnVuY3Rpb24uYXJncy5tYXAoKGFyZzogYW55KSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGFyZyA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGFyZyA9PT0gJ251bWJlcicgfHwgdHlwZW9mIGFyZyA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgIHJldHVybiBhcmc7XG4gICAgICB9XG4gICAgICBpZiAoYXJnICYmIHR5cGVvZiBhcmcgPT09ICdvYmplY3QnICYmICdkYXRhJyBpbiBhcmcgJiYgYXJnLmRhdGEpIHtcbiAgICAgICAgY29uc3QgYnl0ZXMgPSBBcnJheS5mcm9tKGFyZy5kYXRhKSBhcyBudW1iZXJbXTtcbiAgICAgICAgcmV0dXJuICcweCcgKyBieXRlcy5tYXAoKGI6IG51bWJlcikgPT4gYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKSkuam9pbignJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJnO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIHRyYW5zYWN0aW9uIHBheWxvYWQgZGF0YVxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFRyYW5zYWN0aW9uUGF5bG9hZERhdGEoKTogSW5wdXRHZW5lcmF0ZVRyYW5zYWN0aW9uUGF5bG9hZERhdGEge1xuICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IHRoaXMuZ2V0VmFsaWRhdGVkRnVsbEZ1bmN0aW9uTmFtZSgpO1xuXG4gICAgLy8gQ29udmVydCBhcmd1bWVudHMgYmFzZWQgb24gQUJJIGluZm9ybWF0aW9uIGlmIGF2YWlsYWJsZVxuICAgIGNvbnN0IHByb2Nlc3NlZEFyZ3VtZW50cyA9IHRoaXMuX2Z1bmN0aW9uQXJndW1lbnRzLm1hcCgoYXJnOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIC8vIFVzZSBBQkkgdG8gaWRlbnRpZnkgdGhlIGV4cGVjdGVkIHR5cGUgZm9yIHRoaXMgYXJndW1lbnRcbiAgICAgIGNvbnN0IHBhcmFtVHlwZSA9IHRoaXMuX2VudHJ5RnVuY3Rpb25BYmk/LnBhcmFtZXRlcnM/LltpbmRleF07XG4gICAgICBpZiAocGFyYW1UeXBlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnZlcnRBcmd1bWVudEJ5QUJJKGFyZywgcGFyYW1UeXBlKTtcbiAgICAgIH1cblxuICAgICAgLy8gRmFsbGJhY2s6IGJhc2ljIGNvbnZlcnNpb24gZm9yIGNvbW1vbiBjYXNlc1xuICAgICAgaWYgKHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnICYmIGFyZy5zdGFydHNXaXRoKCcweCcpICYmIGFyZy5sZW5ndGggPT09IDY2KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIEFjY291bnRBZGRyZXNzLmZyb21TdHJpbmcoYXJnKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgcmV0dXJuIGFyZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGFyZztcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBmdW5jdGlvbjogZnVuY3Rpb25OYW1lLFxuICAgICAgdHlwZUFyZ3VtZW50czogdGhpcy5fdHlwZUFyZ3VtZW50cyxcbiAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiBwcm9jZXNzZWRBcmd1bWVudHMsXG4gICAgICBhYmk6IHRoaXMuX2VudHJ5RnVuY3Rpb25BYmksXG4gICAgfSBhcyBJbnB1dEdlbmVyYXRlVHJhbnNhY3Rpb25QYXlsb2FkRGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGFyZ3VtZW50IGJhc2VkIG9uIEFCSSB0eXBlIGluZm9ybWF0aW9uXG4gICAqL1xuICBwcml2YXRlIGNvbnZlcnRBcmd1bWVudEJ5QUJJKGFyZzogYW55LCBwYXJhbVR5cGU6IGFueSk6IGFueSB7XG4gICAgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYnl0ZXMgdG8gaGV4IHN0cmluZ1xuICAgIGNvbnN0IGJ5dGVzVG9IZXggPSAoYnl0ZXM6IG51bWJlcltdKTogc3RyaW5nID0+IHtcbiAgICAgIHJldHVybiAnMHgnICsgYnl0ZXMubWFwKChiKSA9PiBiLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCAnMCcpKS5qb2luKCcnKTtcbiAgICB9O1xuXG4gICAgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHRyeSBjb252ZXJ0aW5nIGEgaGV4IHN0cmluZyB0byBhbiBBY2NvdW50QWRkcmVzc1xuICAgIGNvbnN0IHRyeVRvQWRkcmVzcyA9IChoZXhTdHI6IHN0cmluZyk6IGFueSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gQWNjb3VudEFkZHJlc3MuZnJvbVN0cmluZyhoZXhTdHIpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBoZXhTdHI7XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIEhhbmRsZSBwcmltaXRpdmUgdmFsdWVzIChzdHJpbmcsIG51bWJlciwgYm9vbGVhbilcbiAgICBpZiAodHlwZW9mIGFyZyA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGFyZyA9PT0gJ251bWJlcicgfHwgdHlwZW9mIGFyZyA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAvLyBBZGRyZXNzIGNvbnZlcnNpb24gZm9yIGhleCBzdHJpbmdzXG4gICAgICBpZiAocGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ0FkZHJlc3MgJiYgdHlwZW9mIGFyZyA9PT0gJ3N0cmluZycgJiYgYXJnLnN0YXJ0c1dpdGgoJzB4JykpIHtcbiAgICAgICAgcmV0dXJuIHRyeVRvQWRkcmVzcyhhcmcpO1xuICAgICAgfVxuXG4gICAgICAvLyBUeXBlIGNvbnZlcnNpb25zIGJhc2VkIG9uIHBhcmFtZXRlciB0eXBlXG4gICAgICBpZiAocGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ0Jvb2wpIHJldHVybiBCb29sZWFuKGFyZyk7XG4gICAgICBpZiAocGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ1U4IHx8IHBhcmFtVHlwZSBpbnN0YW5jZW9mIFR5cGVUYWdVMTYgfHwgcGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ1UzMilcbiAgICAgICAgcmV0dXJuIE51bWJlcihhcmcpO1xuICAgICAgaWYgKHBhcmFtVHlwZSBpbnN0YW5jZW9mIFR5cGVUYWdVNjQgfHwgcGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ1UxMjggfHwgcGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ1UyNTYpXG4gICAgICAgIHJldHVybiBTdHJpbmcoYXJnKTtcblxuICAgICAgcmV0dXJuIGFyZztcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgQkNTLWVuY29kZWQgZGF0YSB3aXRoICdkYXRhJyBwcm9wZXJ0eVxuICAgIGlmIChhcmcgJiYgdHlwZW9mIGFyZyA9PT0gJ29iamVjdCcgJiYgJ2RhdGEnIGluIGFyZyAmJiBhcmcuZGF0YSkge1xuICAgICAgY29uc3QgYnl0ZXMgPSBBcnJheS5mcm9tKGFyZy5kYXRhKSBhcyBudW1iZXJbXTtcbiAgICAgIGNvbnN0IGhleFN0cmluZyA9IGJ5dGVzVG9IZXgoYnl0ZXMpO1xuXG4gICAgICByZXR1cm4gcGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ0FkZHJlc3MgPyB0cnlUb0FkZHJlc3MoaGV4U3RyaW5nKSA6IGhleFN0cmluZztcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgbmVzdGVkIEJDUyBzdHJ1Y3R1cmVzIHdpdGggJ3ZhbHVlJyBwcm9wZXJ0eVxuICAgIGlmIChhcmcgJiYgdHlwZW9mIGFyZyA9PT0gJ29iamVjdCcgJiYgJ3ZhbHVlJyBpbiBhcmcgJiYgYXJnLnZhbHVlKSB7XG4gICAgICAvLyBTaW1wbGUgdmFsdWUgd3JhcHBlclxuICAgICAgaWYgKCEoJ3ZhbHVlJyBpbiBhcmcudmFsdWUpIHx8IHR5cGVvZiBhcmcudmFsdWUudmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnZlcnRBcmd1bWVudEJ5QUJJKGFyZy52YWx1ZSwgcGFyYW1UeXBlKTtcbiAgICAgIH1cblxuICAgICAgLy8gRG91YmxlIG5lc3RlZCBzdHJ1Y3R1cmUgd2l0aCBudW1lcmljIGtleXNcbiAgICAgIGNvbnN0IGJ5dGVzT2JqID0gYXJnLnZhbHVlLnZhbHVlO1xuICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGJ5dGVzT2JqKVxuICAgICAgICAuZmlsdGVyKChrKSA9PiAhaXNOYU4ocGFyc2VJbnQoaywgMTApKSlcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+IHBhcnNlSW50KGEsIDEwKSAtIHBhcnNlSW50KGIsIDEwKSk7XG5cbiAgICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGFyZztcblxuICAgICAgY29uc3QgYnl0ZXMgPSBrZXlzLm1hcCgoaykgPT4gYnl0ZXNPYmpba10pO1xuICAgICAgbGV0IGV4dHJhY3RlZFZhbHVlOiBhbnk7XG5cbiAgICAgIC8vIENvbnZlcnQgYnl0ZXMgYmFzZWQgb24gcGFyYW1ldGVyIHR5cGVcbiAgICAgIGlmIChcbiAgICAgICAgcGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ0FkZHJlc3MgfHxcbiAgICAgICAgcGFyYW1UeXBlIGluc3RhbmNlb2YgVHlwZVRhZ1U2NCB8fFxuICAgICAgICBwYXJhbVR5cGUgaW5zdGFuY2VvZiBUeXBlVGFnVTEyOCB8fFxuICAgICAgICBwYXJhbVR5cGUgaW5zdGFuY2VvZiBUeXBlVGFnVTI1NlxuICAgICAgKSB7XG4gICAgICAgIGV4dHJhY3RlZFZhbHVlID0gYnl0ZXNUb0hleChieXRlcyk7XG4gICAgICB9IGVsc2UgaWYgKHBhcmFtVHlwZSBpbnN0YW5jZW9mIFR5cGVUYWdCb29sKSB7XG4gICAgICAgIGV4dHJhY3RlZFZhbHVlID0gYnl0ZXNbMF0gPT09IDE7XG4gICAgICB9IGVsc2UgaWYgKHBhcmFtVHlwZSBpbnN0YW5jZW9mIFR5cGVUYWdVOCB8fCBwYXJhbVR5cGUgaW5zdGFuY2VvZiBUeXBlVGFnVTE2IHx8IHBhcmFtVHlwZSBpbnN0YW5jZW9mIFR5cGVUYWdVMzIpIHtcbiAgICAgICAgLy8gQ29udmVydCBsaXR0bGUtZW5kaWFuIGJ5dGVzIHRvIG51bWJlciB1c2luZyB0aGUgb3JpZ2luYWwgYWxnb3JpdGhtXG4gICAgICAgIC8vIHRvIGVuc3VyZSBjb25zaXN0ZW50IGJlaGF2aW9yIHdpdGggbGFyZ2UgbnVtYmVyc1xuICAgICAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IGJ5dGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICogMjU2ICsgYnl0ZXNbaV07XG4gICAgICAgIH1cbiAgICAgICAgZXh0cmFjdGVkVmFsdWUgPSByZXN1bHQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleHRyYWN0ZWRWYWx1ZSA9IGJ5dGVzVG9IZXgoYnl0ZXMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5jb252ZXJ0QXJndW1lbnRCeUFCSShleHRyYWN0ZWRWYWx1ZSwgcGFyYW1UeXBlKTtcbiAgICB9XG5cbiAgICAvLyBGb3IgYW55dGhpbmcgZWxzZSwgcmV0dXJuIGFzLWlzXG4gICAgcmV0dXJuIGFyZztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIGdldEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKCk6IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlTmFtZTogdGhpcy5fbW9kdWxlTmFtZSB8fCAnJyxcbiAgICAgIGZ1bmN0aW9uTmFtZTogdGhpcy5fZnVuY3Rpb25OYW1lIHx8ICcnLFxuICAgICAgdHlwZUFyZ3VtZW50czogdGhpcy5fdHlwZUFyZ3VtZW50cyxcbiAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyxcbiAgICAgIGFiaTogdGhpcy5fZW50cnlGdW5jdGlvbkFiaSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHJlY2lwaWVudCBnZXR0ZXIgZm9yIGN1c3RvbSB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldCByZWNpcGllbnQoKTogYW55IHtcbiAgICBpZiAodGhpcy5fcmVjaXBpZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFkZHJlc3M6ICcnLFxuICAgICAgICBhbW91bnQ6ICcwJyxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9yZWNpcGllbnRzWzBdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB2YWxpZGF0ZWQgZnVsbCBmdW5jdGlvbiBuYW1lXG4gICAqL1xuICBwcml2YXRlIGdldFZhbGlkYXRlZEZ1bGxGdW5jdGlvbk5hbWUoKTogYCR7c3RyaW5nfTo6JHtzdHJpbmd9Ojoke3N0cmluZ31gIHtcbiAgICBpZiAoIXRoaXMuX21vZHVsZU5hbWUgfHwgIXRoaXMuX2Z1bmN0aW9uTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNb2R1bGUgbmFtZSBhbmQgZnVuY3Rpb24gbmFtZSBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBmdWxsTmFtZSA9IGAke3RoaXMuX21vZHVsZU5hbWV9Ojoke3RoaXMuX2Z1bmN0aW9uTmFtZX1gO1xuXG4gICAgLy8gQmFzaWMgdmFsaWRhdGlvblxuICAgIGNvbnN0IGZ1bGxGdW5jdGlvblBhdHRlcm4gPVxuICAgICAgL14oMHhbYS1mQS1GMC05XXsxLDY0fXxbYS16QS1aX11bYS16QS1aMC05X10qKTo6W2EtekEtWl9dW2EtekEtWjAtOV9dKjo6W2EtekEtWl9dW2EtekEtWjAtOV9dKiQvO1xuICAgIGlmICghZnVsbEZ1bmN0aW9uUGF0dGVybi50ZXN0KGZ1bGxOYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZ1bGwgZnVuY3Rpb24gbmFtZSBmb3JtYXQ6IFwiJHtmdWxsTmFtZX1cIi4gRXhwZWN0ZWQgZm9ybWF0OiBcImFkZHJlc3M6Om1vZHVsZTo6ZnVuY3Rpb25cImApO1xuICAgIH1cblxuICAgIHJldHVybiBmdWxsTmFtZSBhcyBgJHtzdHJpbmd9Ojoke3N0cmluZ306OiR7c3RyaW5nfWA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -10,7 +10,7 @@ import { CustomTransactionBuilder } from './transactionBuilder/customTransaction
|
|
|
10
10
|
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
11
11
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
12
12
|
/** @inheritdoc */
|
|
13
|
-
from(signedRawTxn: string): TransactionBuilder;
|
|
13
|
+
from(signedRawTxn: string, abi?: any): TransactionBuilder;
|
|
14
14
|
getTransactionTypeFromSignedTxn(signedTxn: SignedTransaction): TransactionType;
|
|
15
15
|
/** @inheritdoc */
|
|
16
16
|
getTransferBuilder(tx?: Transaction): TransferBuilder;
|
|
@@ -1 +1 @@
|
|
|
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,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,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,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AAEjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAE/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAEzF,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB;
|
|
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,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,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,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AAEjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAE/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAEzF,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,kBAAkB;IAiCzD,+BAA+B,CAAC,SAAS,EAAE,iBAAiB,GAAG,eAAe;IAK9E,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,kBAAkB;IAClB,kCAAkC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,4BAA4B;IAIlF,kBAAkB;IAClB,iCAAiC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,2BAA2B;IAIhF;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,wBAAwB;IAIvE,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;IAItC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;CAM1B"}
|
|
@@ -20,7 +20,7 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
|
|
|
20
20
|
super(_coinConfig);
|
|
21
21
|
}
|
|
22
22
|
/** @inheritdoc */
|
|
23
|
-
from(signedRawTxn) {
|
|
23
|
+
from(signedRawTxn, abi) {
|
|
24
24
|
try {
|
|
25
25
|
const signedTxn = transaction_1.Transaction.deserializeSignedTransaction(signedRawTxn);
|
|
26
26
|
const txnType = this.getTransactionTypeFromSignedTxn(signedTxn);
|
|
@@ -39,6 +39,9 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
|
|
|
39
39
|
return this.getDigitalAssetTransactionBuilder(digitalAssetTransferTx);
|
|
40
40
|
case sdk_core_1.TransactionType.CustomTx:
|
|
41
41
|
const customTx = new customTransaction_1.CustomTransaction(this._coinConfig);
|
|
42
|
+
if (abi) {
|
|
43
|
+
customTx.setEntryFunctionAbi(abi);
|
|
44
|
+
}
|
|
42
45
|
customTx.fromDeserializedSignedTransaction(signedTxn);
|
|
43
46
|
return this.getCustomTransactionBuilder(customTx);
|
|
44
47
|
default:
|
|
@@ -93,4 +96,4 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
|
|
|
93
96
|
}
|
|
94
97
|
}
|
|
95
98
|
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBK0c7QUFFL0csMEVBQXVFO0FBQ3ZFLG9EQUE0QjtBQUM1QiwyREFBd0Q7QUFFeEQsMkVBQXdFO0FBRXhFLCtFQUE0RTtBQUM1RSxvR0FBaUc7QUFDakcsNkVBQTBFO0FBQzFFLGtHQUErRjtBQUMvRix1RUFBb0U7QUFDcEUsNEZBQXlGO0FBRXpGLE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBQzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLFlBQW9CLEVBQUUsR0FBUztRQUNsQyxJQUFJLENBQUM7WUFDSCxNQUFNLFNBQVMsR0FBRyx5QkFBVyxDQUFDLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVoRSxRQUFRLE9BQU8sRUFBRSxDQUFDO2dCQUNoQixLQUFLLDBCQUFlLENBQUMsSUFBSTtvQkFDdkIsTUFBTSxVQUFVLEdBQUcsSUFBSSx5Q0FBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzdELFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDeEQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzdDLEtBQUssMEJBQWUsQ0FBQyxTQUFTO29CQUM1QixNQUFNLHVCQUF1QixHQUFHLElBQUksNkNBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUM1RSx1QkFBdUIsQ0FBQyxpQ0FBaUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDckUsT0FBTyxJQUFJLENBQUMsa0NBQWtDLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFDMUUsS0FBSywwQkFBZSxDQUFDLE9BQU87b0JBQzFCLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSwyQ0FBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzFFLHNCQUFzQixDQUFDLGlDQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNwRSxPQUFPLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2dCQUN4RSxLQUFLLDBCQUFlLENBQUMsUUFBUTtvQkFDM0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxxQ0FBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQ3pELElBQUksR0FBRyxFQUFFLENBQUM7d0JBQ1IsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNwQyxDQUFDO29CQUNELFFBQVEsQ0FBQyxpQ0FBaUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDdEQsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BEO29CQUNFLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQzdELENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxTQUE0QjtRQUMxRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQ2pDLE9BQU8sZUFBSyxDQUFDLHdDQUF3QyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGtCQUFrQixDQUFDLEVBQWdCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixrQ0FBa0MsQ0FBQyxFQUFnQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSwyREFBNEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlDQUFpQyxDQUFDLEVBQWdCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLHlEQUEyQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILDJCQUEyQixDQUFDLEVBQWdCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLG1EQUF3QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsOEJBQThCO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssaUJBQWlCLENBQStCLEVBQTJCLEVBQUUsT0FBVTtRQUM3RixJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ1AsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBdkZELDhEQXVGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXIvdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgU2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAYXB0b3MtbGFicy90cy1zZGsnO1xuaW1wb3J0IHsgVHJhbnNmZXJUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHJhbnNmZXJUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBGdW5naWJsZUFzc2V0VHJhbnNmZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uL2Z1bmdpYmxlQXNzZXRUcmFuc2Zlcic7XG5pbXBvcnQgeyBGdW5naWJsZUFzc2V0VHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXIvZnVuZ2libGVBc3NldFRyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBEaWdpdGFsQXNzZXRUcmFuc2ZlciB9IGZyb20gJy4vdHJhbnNhY3Rpb24vZGlnaXRhbEFzc2V0VHJhbnNmZXInO1xuaW1wb3J0IHsgRGlnaXRhbEFzc2V0VHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXIvZGlnaXRhbEFzc2V0VHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IEN1c3RvbVRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi9jdXN0b21UcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci9jdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGZyb20oc2lnbmVkUmF3VHhuOiBzdHJpbmcsIGFiaT86IGFueSk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNpZ25lZFR4biA9IFRyYW5zYWN0aW9uLmRlc2VyaWFsaXplU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkUmF3VHhuKTtcbiAgICAgIGNvbnN0IHR4blR5cGUgPSB0aGlzLmdldFRyYW5zYWN0aW9uVHlwZUZyb21TaWduZWRUeG4oc2lnbmVkVHhuKTtcblxuICAgICAgc3dpdGNoICh0eG5UeXBlKSB7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmQ6XG4gICAgICAgICAgY29uc3QgdHJhbnNmZXJUeCA9IG5ldyBUcmFuc2ZlclRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIHRyYW5zZmVyVHguZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4bik7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyKHRyYW5zZmVyVHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kVG9rZW46XG4gICAgICAgICAgY29uc3QgZnVuZ2libGVUcmFuc2ZlclRva2VuVHggPSBuZXcgRnVuZ2libGVBc3NldFRyYW5zZmVyKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIGZ1bmdpYmxlVHJhbnNmZXJUb2tlblR4LmZyb21EZXNlcmlhbGl6ZWRTaWduZWRUcmFuc2FjdGlvbihzaWduZWRUeG4pO1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldEZ1bmdpYmxlQXNzZXRUcmFuc2FjdGlvbkJ1aWxkZXIoZnVuZ2libGVUcmFuc2ZlclRva2VuVHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kTkZUOlxuICAgICAgICAgIGNvbnN0IGRpZ2l0YWxBc3NldFRyYW5zZmVyVHggPSBuZXcgRGlnaXRhbEFzc2V0VHJhbnNmZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gICAgICAgICAgZGlnaXRhbEFzc2V0VHJhbnNmZXJUeC5mcm9tRGVzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkVHhuKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXREaWdpdGFsQXNzZXRUcmFuc2FjdGlvbkJ1aWxkZXIoZGlnaXRhbEFzc2V0VHJhbnNmZXJUeCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkN1c3RvbVR4OlxuICAgICAgICAgIGNvbnN0IGN1c3RvbVR4ID0gbmV3IEN1c3RvbVRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIGlmIChhYmkpIHtcbiAgICAgICAgICAgIGN1c3RvbVR4LnNldEVudHJ5RnVuY3Rpb25BYmkoYWJpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY3VzdG9tVHguZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4bik7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyKGN1c3RvbVR4KTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24nKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIGdldFRyYW5zYWN0aW9uVHlwZUZyb21TaWduZWRUeG4oc2lnbmVkVHhuOiBTaWduZWRUcmFuc2FjdGlvbik6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgY29uc3QgcmF3VHhuID0gc2lnbmVkVHhuLnJhd190eG47XG4gICAgcmV0dXJuIHV0aWxzLmdldFRyYW5zYWN0aW9uVHlwZUZyb21UcmFuc2FjdGlvblBheWxvYWQocmF3VHhuLnBheWxvYWQpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0RnVuZ2libGVBc3NldFRyYW5zYWN0aW9uQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogRnVuZ2libGVBc3NldFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBGdW5naWJsZUFzc2V0VHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXREaWdpdGFsQXNzZXRUcmFuc2FjdGlvbkJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IERpZ2l0YWxBc3NldFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBEaWdpdGFsQXNzZXRUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIGN1c3RvbSB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqXG4gICAqIEBwYXJhbSB0eCAtIE9wdGlvbmFsIHRyYW5zYWN0aW9uIHRvIGluaXRpYWxpemUgdGhlIGJ1aWxkZXIgd2l0aFxuICAgKiBAcmV0dXJucyBBIGN1c3RvbSB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBnZXRDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IEN1c3RvbVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcigpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgYnVpbGRlciB3aXRoIHRoZSBnaXZlbiB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uIHwgdW5kZWZpbmVkfSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IGJ1aWxkZXIgLSB0aGUgYnVpbGRlciB0byBiZSBpbml0aWFsaXplZFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSB0aGUgYnVpbGRlciBpbml0aWFsaXplZFxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplQnVpbGRlcjxUIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyPih0eDogVHJhbnNhY3Rpb24gfCB1bmRlZmluZWQsIGJ1aWxkZXI6IFQpOiBUIHtcbiAgICBpZiAodHgpIHtcbiAgICAgIGJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH1cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-apt",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.164",
|
|
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": "2.4.1-alpha.
|
|
45
|
-
"@bitgo-beta/statics": "10.0.1-alpha.
|
|
44
|
+
"@bitgo-beta/sdk-core": "2.4.1-alpha.394",
|
|
45
|
+
"@bitgo-beta/statics": "10.0.1-alpha.394",
|
|
46
46
|
"bignumber.js": "^9.1.2",
|
|
47
47
|
"lodash": "^4.17.21"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@bitgo-beta/sdk-api": "1.6.1-alpha.
|
|
51
|
-
"@bitgo-beta/sdk-lib-mpc": "8.2.1-alpha.
|
|
50
|
+
"@bitgo-beta/sdk-api": "1.6.1-alpha.394",
|
|
51
|
+
"@bitgo-beta/sdk-lib-mpc": "8.2.1-alpha.350",
|
|
52
52
|
"@bitgo-beta/sdk-test": "^9.0.9"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "1d190dc61a8bd89f189b657ffe4991263c648805"
|
|
55
55
|
}
|