@bitgo-beta/sdk-coin-apt 1.0.1-beta.616 → 1.0.1-beta.618

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.
@@ -48,20 +48,6 @@ export declare class CustomTransaction extends Transaction {
48
48
  * @returns {CustomTransactionParams} The custom transaction parameters
49
49
  */
50
50
  getCustomTransactionParams(): CustomTransactionParams;
51
- /**
52
- * Validate module name format
53
- *
54
- * @param {string} moduleName - Module name to validate
55
- * @throws {Error} If module name format is invalid
56
- */
57
- private validateModuleName;
58
- /**
59
- * Validate function name format
60
- *
61
- * @param {string} functionName - Function name to validate
62
- * @throws {Error} If function name format is invalid
63
- */
64
- private validateFunctionName;
65
51
  /**
66
52
  * Override the deprecated recipient getter to handle custom transactions gracefully
67
53
  * Custom transactions may not have traditional recipients
@@ -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,EAEhB,mCAAmC,EAEnC,kBAAkB,EAEnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD;;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,CAAmB;gBAEhC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK5C;;;;OAIG;IACH,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAYjE;;;;OAIG;IACH,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAIhD;;;;OAIG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAK7B;IAED;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IA4BpE;;;;OAIG;IACH,SAAS,CAAC,yBAAyB,IAAI,mCAAmC;IAW1E;;;;OAIG;IACH,0BAA0B,IAAI,uBAAuB;IAUrD;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;;;;OAKG;IACH,IAAI,SAAS,IAAI,GAAG,CASnB;IAED;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAkBpC;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CAapB"}
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,EAEhB,mCAAmC,EAEnC,kBAAkB,EAEnB,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,CAAmB;gBAEhC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK5C;;;;OAIG;IACH,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAYjE;;;;OAIG;IACH,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAIhD;;;;OAIG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAK7B;IAED;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IA4BpE;;;;OAIG;IACH,SAAS,CAAC,yBAAyB,IAAI,mCAAmC;IAW1E;;;;OAIG;IACH,0BAA0B,IAAI,uBAAuB;IAUrD;;;;;OAKG;IACH,IAAI,SAAS,IAAI,GAAG,CASnB;IAED;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAkBpC;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CAapB"}
@@ -4,6 +4,7 @@ exports.CustomTransaction = void 0;
4
4
  const transaction_1 = require("./transaction");
5
5
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
6
  const ts_sdk_1 = require("@aptos-labs/ts-sdk");
7
+ const validation_1 = require("../utils/validation");
7
8
  /**
8
9
  * Transaction class for custom Aptos transactions with entry function payloads.
9
10
  */
@@ -20,8 +21,8 @@ class CustomTransaction extends transaction_1.Transaction {
20
21
  * @param {CustomTransactionParams} params - Custom transaction parameters
21
22
  */
22
23
  setCustomTransactionParams(params) {
23
- this.validateModuleName(params.moduleName);
24
- this.validateFunctionName(params.functionName);
24
+ (0, validation_1.validateModuleName)(params.moduleName);
25
+ (0, validation_1.validateFunctionName)(params.functionName);
25
26
  this.validateAbi(params.abi);
26
27
  this._moduleName = params.moduleName;
27
28
  this._functionName = params.functionName;
@@ -64,8 +65,8 @@ class CustomTransaction extends transaction_1.Transaction {
64
65
  const functionIdentifier = entryFunction.function_name.identifier;
65
66
  const moduleName = `${moduleAddress}::${moduleIdentifier}`;
66
67
  // Validate the extracted names using our existing validation
67
- this.validateModuleName(moduleName);
68
- this.validateFunctionName(functionIdentifier);
68
+ (0, validation_1.validateModuleName)(moduleName);
69
+ (0, validation_1.validateFunctionName)(functionIdentifier);
69
70
  this._moduleName = moduleName;
70
71
  this._functionName = functionIdentifier;
71
72
  // Extract type arguments and function arguments
@@ -100,40 +101,6 @@ class CustomTransaction extends transaction_1.Transaction {
100
101
  abi: this._entryFunctionAbi,
101
102
  };
102
103
  }
103
- /**
104
- * Validate module name format
105
- *
106
- * @param {string} moduleName - Module name to validate
107
- * @throws {Error} If module name format is invalid
108
- */
109
- validateModuleName(moduleName) {
110
- if (!moduleName || typeof moduleName !== 'string') {
111
- throw new Error('Module name is required and must be a non-empty string');
112
- }
113
- // Aptos module name format: address::module_name
114
- // Supports both SHORT (0x1) and LONG (0x0000...0001) address formats
115
- // Also supports named addresses (resolved at deployment time)
116
- const moduleNamePattern = /^(0x[a-fA-F0-9]{1,64}|[a-zA-Z_][a-zA-Z0-9_]*)::[a-zA-Z_][a-zA-Z0-9_]*$/;
117
- if (!moduleNamePattern.test(moduleName)) {
118
- throw new Error(`Invalid module name format: "${moduleName}". Expected format: "0xaddress::module_name" or "named_address::module_name"`);
119
- }
120
- }
121
- /**
122
- * Validate function name format
123
- *
124
- * @param {string} functionName - Function name to validate
125
- * @throws {Error} If function name format is invalid
126
- */
127
- validateFunctionName(functionName) {
128
- if (!functionName || typeof functionName !== 'string') {
129
- throw new Error('Function name is required and must be a non-empty string');
130
- }
131
- // Aptos function name pattern: valid identifier (letters, numbers, underscores, starting with letter/underscore)
132
- const functionNamePattern = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
133
- if (!functionNamePattern.test(functionName)) {
134
- throw new Error(`Invalid function name format: "${functionName}". Function names must be valid identifiers (letters, numbers, underscores, starting with letter or underscore)`);
135
- }
136
- }
137
104
  /**
138
105
  * Override the deprecated recipient getter to handle custom transactions gracefully
139
106
  * Custom transactions may not have traditional recipients
@@ -188,4 +155,4 @@ class CustomTransaction extends transaction_1.Transaction {
188
155
  }
189
156
  }
190
157
  exports.CustomTransaction = CustomTransaction;
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL2N1c3RvbVRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUE0QztBQUU1QyxtREFBdUQ7QUFDdkQsK0NBTzRCO0FBRzVCOztHQUVHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSx5QkFBVztJQU9oRCxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUxaLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLHVCQUFrQixHQUF5RSxFQUFFLENBQUM7UUFLcEcsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDBCQUEwQixDQUFDLE1BQStCO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxHQUFxQjtRQUN2QyxJQUFJLENB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QkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxRQUFRLGlEQUFpRCxDQUFDLENBQUM7UUFDcEgsQ0FBQztRQUVELE9BQU8sUUFBNkMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxXQUFXLENBQUMsR0FBcUI7UUFDdkMsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMscUZBQXFGLENBQUMsQ0FBQztRQUN6RyxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5RkFBeUYsQ0FBQyxDQUFDO1FBQzdHLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF4TkQsOENBd05DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7XG4gIEVudHJ5RnVuY3Rpb25BQkksXG4gIEVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzLFxuICBJbnB1dEdlbmVyYXRlVHJhbnNhY3Rpb25QYXlsb2FkRGF0YSxcbiAgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXMsXG4gIFRyYW5zYWN0aW9uUGF5bG9hZCxcbiAgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbixcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zIH0gZnJvbSAnLi4vaWZhY2UnO1xuXG4vKipcbiAqIFRyYW5zYWN0aW9uIGNsYXNzIGZvciBjdXN0b20gQXB0b3MgdHJhbnNhY3Rpb25zIHdpdGggZW50cnkgZnVuY3Rpb24gcGF5bG9hZHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21UcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uIHtcbiAgcHJpdmF0ZSBfbW9kdWxlTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIF9mdW5jdGlvbk5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfdHlwZUFyZ3VtZW50czogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBfZnVuY3Rpb25Bcmd1bWVudHM6IEFycmF5PEVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzIHwgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXM+ID0gW107XG4gIHByaXZhdGUgX2VudHJ5RnVuY3Rpb25BYmk6IEVudHJ5RnVuY3Rpb25BQkk7XG5cbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLkN1c3RvbVR4O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICpcbiAgICogQHBhcmFtIHtDdXN0b21UcmFuc2FjdGlvblBhcmFtc30gcGFyYW1zIC0gQ3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIHNldEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKHBhcmFtczogQ3VzdG9tVHJhbnNhY3Rpb25QYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlTW9kdWxlTmFtZShwYXJhbXMubW9kdWxlTmFtZSk7XG4gICAgdGhpcy52YWxpZGF0ZUZ1bmN0aW9uTmFtZShwYXJhbXMuZnVuY3Rpb25OYW1lKTtcbiAgICB0aGlzLnZhbGlkYXRlQWJpKHBhcmFtcy5hYmkpO1xuXG4gICAgdGhpcy5fbW9kdWxlTmFtZSA9IHBhcmFtcy5tb2R1bGVOYW1lO1xuICAgIHRoaXMuX2Z1bmN0aW9uTmFtZSA9IHBhcmFtcy5mdW5jdGlvbk5hbWU7XG4gICAgdGhpcy5fdHlwZUFyZ3VtZW50cyA9IHBhcmFtcy50eXBlQXJndW1lbnRzIHx8IFtdO1xuICAgIHRoaXMuX2Z1bmN0aW9uQXJndW1lbnRzID0gcGFyYW1zLmZ1bmN0aW9uQXJndW1lbnRzIHx8IFtdO1xuICAgIHRoaXMuX2VudHJ5RnVuY3Rpb25BYmkgPSBwYXJhbXMuYWJpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZW50cnkgZnVuY3Rpb24gQUJJXG4gICAqXG4gICAqIEBwYXJhbSB7RW50cnlGdW5jdGlvbkFCSX0gYWJpIC0gVGhlIEFCSSBkZWZpbml0aW9uIGZvciB0aGUgZW50cnkgZnVuY3Rpb25cbiAgICovXG4gIHNldEVudHJ5RnVuY3Rpb25BYmkoYWJpOiBFbnRyeUZ1bmN0aW9uQUJJKTogdm9pZCB7XG4gICAgdGhpcy5fZW50cnlGdW5jdGlvbkFiaSA9IGFiaTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGZ1bGwgZnVuY3Rpb24gbmFtZSBpbiB0aGUgZm9ybWF0IG1vZHVsZU5hbWU6OmZ1bmN0aW9uTmFtZVxuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZnVsbCBmdW5jdGlvbiBuYW1lXG4gICAqL1xuICBnZXQgZnVsbEZ1bmN0aW9uTmFtZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fbW9kdWxlTmFtZSB8fCAhdGhpcy5fZnVuY3Rpb25OYW1lKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLl9tb2R1bGVOYW1lfTo6JHt0aGlzLl9mdW5jdGlvbk5hbWV9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhIHRyYW5zYWN0aW9uIHBheWxvYWQgdG8gZXh0cmFjdCB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblBheWxvYWR9IHBheWxvYWQgLSBUaGUgdHJhbnNhY3Rpb24gcGF5bG9hZCB0byBwYXJzZVxuICAgKi9cbiAgcHJvdGVjdGVkIHBhcnNlVHJhbnNhY3Rpb25QYXlsb2FkKHBheWxvYWQ6IFRyYW5zYWN0aW9uUGF5bG9hZCk6IHZvaWQge1xuICAgIGlmICghKHBheWxvYWQgaW5zdGFuY2VvZiBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBlbnRyeSBmdW5jdGlvbiBwYXlsb2FkIGZvciBjdXN0b20gdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyeUZ1bmN0aW9uID0gcGF5bG9hZC5lbnRyeUZ1bmN0aW9uO1xuXG4gICAgLy8gRXh0cmFjdCBmdW5jdGlvbiBkYXRhXG4gICAgY29uc3QgbW9kdWxlQWRkcmVzcyA9IGVudHJ5RnVuY3Rpb24ubW9kdWxlX25hbWUuYWRkcmVzcy50b1N0cmluZygpO1xuICAgIGNvbnN0IG1vZHVsZUlkZW50aWZpZXIgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLm5hbWUuaWRlbnRpZmllcjtcbiAgICBjb25zdCBmdW5jdGlvbklkZW50aWZpZXIgPSBlbnRyeUZ1bmN0aW9uLmZ1bmN0aW9uX25hbWUuaWRlbnRpZmllcjtcblxuICAgIGNvbnN0IG1vZHVsZU5hbWUgPSBgJHttb2R1bGVBZGRyZXNzfTo6JHttb2R1bGVJZGVudGlmaWVyfWA7XG5cbiAgICAvLyBWYWxpZGF0ZSB0aGUgZXh0cmFjdGVkIG5hbWVzIHVzaW5nIG91ciBleGlzdGluZyB2YWxpZGF0aW9uXG4gICAgdGhpcy52YWxpZGF0ZU1vZHVsZU5hbWUobW9kdWxlTmFtZSk7XG4gICAgdGhpcy52YWxpZGF0ZUZ1bmN0aW9uTmFtZShmdW5jdGlvbklkZW50aWZpZXIpO1xuXG4gICAgdGhpcy5fbW9kdWxlTmFtZSA9IG1vZHVsZU5hbWU7XG4gICAgdGhpcy5fZnVuY3Rpb25OYW1lID0gZnVuY3Rpb25JZGVudGlmaWVyO1xuXG4gICAgLy8gRXh0cmFjdCB0eXBlIGFyZ3VtZW50cyBhbmQgZnVuY3Rpb24gYXJndW1lbnRzXG4gICAgdGhpcy5fdHlwZUFyZ3VtZW50cyA9IGVudHJ5RnVuY3Rpb24udHlwZV9hcmdzLm1hcCgodHlwZUFyZykgPT4gdHlwZUFyZy50b1N0cmluZygpKTtcbiAgICB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyA9IGVudHJ5RnVuY3Rpb24uYXJncyBhcyBBcnJheTxcbiAgICAgIEVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzIHwgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXNcbiAgICA+O1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIHRoZSB0cmFuc2FjdGlvbiBwYXlsb2FkIGRhdGEgZm9yIHRoZSBjdXN0b20gdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHJldHVybnMge0lucHV0R2VuZXJhdGVUcmFuc2FjdGlvblBheWxvYWREYXRhfSBUaGUgdHJhbnNhY3Rpb24gcGF5bG9hZCBkYXRhXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0VHJhbnNhY3Rpb25QYXlsb2FkRGF0YSgpOiBJbnB1dEdlbmVyYXRlVHJhbnNhY3Rpb25QYXlsb2FkRGF0YSB7XG4gICAgY29uc3QgZnVuY3Rpb25OYW1lID0gdGhpcy5nZXRWYWxpZGF0ZWRGdWxsRnVuY3Rpb25OYW1lKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZnVuY3Rpb246IGZ1bmN0aW9uTmFtZSxcbiAgICAgIHR5cGVBcmd1bWVudHM6IHRoaXMuX3R5cGVBcmd1bWVudHMsXG4gICAgICBmdW5jdGlvbkFyZ3VtZW50czogdGhpcy5fZnVuY3Rpb25Bcmd1bWVudHMsXG4gICAgICBhYmk6IHRoaXMuX2VudHJ5RnVuY3Rpb25BYmksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGN1c3RvbSB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzXG4gICAqXG4gICAqIEByZXR1cm5zIHtDdXN0b21UcmFuc2FjdGlvblBhcmFtc30gVGhlIGN1c3RvbSB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzXG4gICAqL1xuICBnZXRDdXN0b21UcmFuc2FjdGlvblBhcmFtcygpOiBDdXN0b21UcmFuc2FjdGlvblBhcmFtcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1vZHVsZU5hbWU6IHRoaXMuX21vZHVsZU5hbWUgfHwgJycsXG4gICAgICBmdW5jdGlvbk5hbWU6IHRoaXMuX2Z1bmN0aW9uTmFtZSB8fCAnJyxcbiAgICAgIHR5cGVBcmd1bWVudHM6IHRoaXMuX3R5cGVBcmd1bWVudHMsXG4gICAgICBmdW5jdGlvbkFyZ3VtZW50czogdGhpcy5fZnVuY3Rpb25Bcmd1bWVudHMsXG4gICAgICBhYmk6IHRoaXMuX2VudHJ5RnVuY3Rpb25BYmksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBtb2R1bGUgbmFtZSBmb3JtYXRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1vZHVsZU5hbWUgLSBNb2R1bGUgbmFtZSB0byB2YWxpZGF0ZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgbW9kdWxlIG5hbWUgZm9ybWF0IGlzIGludmFsaWRcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVNb2R1bGVOYW1lKG1vZHVsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghbW9kdWxlTmFtZSB8fCB0eXBlb2YgbW9kdWxlTmFtZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTW9kdWxlIG5hbWUgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuXG4gICAgLy8gQXB0b3MgbW9kdWxlIG5hbWUgZm9ybWF0OiBhZGRyZXNzOjptb2R1bGVfbmFtZVxuICAgIC8vIFN1cHBvcnRzIGJvdGggU0hPUlQgKDB4MSkgYW5kIExPTkcgKDB4MDAwMC4uLjAwMDEpIGFkZHJlc3MgZm9ybWF0c1xuICAgIC8vIEFsc28gc3VwcG9ydHMgbmFtZWQgYWRkcmVzc2VzIChyZXNvbHZlZCBhdCBkZXBsb3ltZW50IHRpbWUpXG4gICAgY29uc3QgbW9kdWxlTmFtZVBhdHRlcm4gPSAvXigweFthLWZBLUYwLTldezEsNjR9fFthLXpBLVpfXVthLXpBLVowLTlfXSopOjpbYS16QS1aX11bYS16QS1aMC05X10qJC87XG4gICAgaWYgKCFtb2R1bGVOYW1lUGF0dGVybi50ZXN0KG1vZHVsZU5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIG1vZHVsZSBuYW1lIGZvcm1hdDogXCIke21vZHVsZU5hbWV9XCIuIEV4cGVjdGVkIGZvcm1hdDogXCIweGFkZHJlc3M6Om1vZHVsZV9uYW1lXCIgb3IgXCJuYW1lZF9hZGRyZXNzOjptb2R1bGVfbmFtZVwiYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgZnVuY3Rpb24gbmFtZSBmb3JtYXRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZ1bmN0aW9uTmFtZSAtIEZ1bmN0aW9uIG5hbWUgdG8gdmFsaWRhdGVcbiAgICogQHRocm93cyB7RXJyb3J9IElmIGZ1bmN0aW9uIG5hbWUgZm9ybWF0IGlzIGludmFsaWRcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVGdW5jdGlvbk5hbWUoZnVuY3Rpb25OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIWZ1bmN0aW9uTmFtZSB8fCB0eXBlb2YgZnVuY3Rpb25OYW1lICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGdW5jdGlvbiBuYW1lIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cblxuICAgIC8vIEFwdG9zIGZ1bmN0aW9uIG5hbWUgcGF0dGVybjogdmFsaWQgaWRlbnRpZmllciAobGV0dGVycywgbnVtYmVycywgdW5kZXJzY29yZXMsIHN0YXJ0aW5nIHdpdGggbGV0dGVyL3VuZGVyc2NvcmUpXG4gICAgY29uc3QgZnVuY3Rpb25OYW1lUGF0dGVybiA9IC9eW2EtekEtWl9dW2EtekEtWjAtOV9dKiQvO1xuICAgIGlmICghZnVuY3Rpb25OYW1lUGF0dGVybi50ZXN0KGZ1bmN0aW9uTmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEludmFsaWQgZnVuY3Rpb24gbmFtZSBmb3JtYXQ6IFwiJHtmdW5jdGlvbk5hbWV9XCIuIEZ1bmN0aW9uIG5hbWVzIG11c3QgYmUgdmFsaWQgaWRlbnRpZmllcnMgKGxldHRlcnMsIG51bWJlcnMsIHVuZGVyc2NvcmVzLCBzdGFydGluZyB3aXRoIGxldHRlciBvciB1bmRlcnNjb3JlKWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSBkZXByZWNhdGVkIHJlY2lwaWVudCBnZXR0ZXIgdG8gaGFuZGxlIGN1c3RvbSB0cmFuc2FjdGlvbnMgZ3JhY2VmdWxseVxuICAgKiBDdXN0b20gdHJhbnNhY3Rpb25zIG1heSBub3QgaGF2ZSB0cmFkaXRpb25hbCByZWNpcGllbnRzXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIC0gdXNlIGByZWNpcGllbnRzKClgXG4gICAqL1xuICBnZXQgcmVjaXBpZW50KCk6IGFueSB7XG4gICAgLy8gRm9yIGN1c3RvbSB0cmFuc2FjdGlvbnMsIHJldHVybiBhIHBsYWNlaG9sZGVyIHJlY2lwaWVudCBpZiBubyByZWNpcGllbnRzIGV4aXN0XG4gICAgaWYgKHRoaXMuX3JlY2lwaWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhZGRyZXNzOiAnJywgLy8gRW1wdHkgYWRkcmVzcyBmb3IgY3VzdG9tIHRyYW5zYWN0aW9uc1xuICAgICAgICBhbW91bnQ6ICcwJyxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9yZWNpcGllbnRzWzBdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB2YWxpZGF0ZWQgZnVsbCBmdW5jdGlvbiBuYW1lIHdpdGggcnVudGltZSBmb3JtYXQgY2hlY2tpbmdcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIHZhbGlkYXRlZCBmdWxsIGZ1bmN0aW9uIG5hbWVcbiAgICogQHRocm93cyB7RXJyb3J9IElmIGZ1bmN0aW9uIG5hbWUgZm9ybWF0IGlzIGludmFsaWRcbiAgICovXG4gIHByaXZhdGUgZ2V0VmFsaWRhdGVkRnVsbEZ1bmN0aW9uTmFtZSgpOiBgJHtzdHJpbmd9Ojoke3N0cmluZ306OiR7c3RyaW5nfWAge1xuICAgIGlmICghdGhpcy5fbW9kdWxlTmFtZSB8fCAhdGhpcy5fZnVuY3Rpb25OYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01vZHVsZSBuYW1lIGFuZCBmdW5jdGlvbiBuYW1lIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IGZ1bGxOYW1lID0gYCR7dGhpcy5fbW9kdWxlTmFtZX06OiR7dGhpcy5fZnVuY3Rpb25OYW1lfWA7XG5cbiAgICAvLyBSdW50aW1lIHZhbGlkYXRpb24gb2YgdGhlIGV4cGVjdGVkIGZvcm1hdFxuICAgIC8vIFN1cHBvcnRzIGJvdGggaGV4IGFkZHJlc3NlcyAoU0hPUlQvTE9ORykgYW5kIG5hbWVkIGFkZHJlc3Nlc1xuICAgIGNvbnN0IGZ1bGxGdW5jdGlvblBhdHRlcm4gPVxuICAgICAgL14oMHhbYS1mQS1GMC05XXsxLDY0fXxbYS16QS1aX11bYS16QS1aMC05X10qKTo6W2EtekEtWl9dW2EtekEtWjAtOV9dKjo6W2EtekEtWl9dW2EtekEtWjAtOV9dKiQvO1xuICAgIGlmICghZnVsbEZ1bmN0aW9uUGF0dGVybi50ZXN0KGZ1bGxOYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZ1bGwgZnVuY3Rpb24gbmFtZSBmb3JtYXQ6IFwiJHtmdWxsTmFtZX1cIi4gRXhwZWN0ZWQgZm9ybWF0OiBcImFkZHJlc3M6Om1vZHVsZTo6ZnVuY3Rpb25cImApO1xuICAgIH1cblxuICAgIHJldHVybiBmdWxsTmFtZSBhcyBgJHtzdHJpbmd9Ojoke3N0cmluZ306OiR7c3RyaW5nfWA7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgQUJJIHN0cnVjdHVyZSBhbmQgcHJvdmlkZSBoZWxwZnVsIGVycm9yIG1lc3NhZ2VzXG4gICAqXG4gICAqIEBwYXJhbSB7RW50cnlGdW5jdGlvbkFCSX0gYWJpIC0gVGhlIEFCSSB0byB2YWxpZGF0ZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgQUJJIGZvcm1hdCBpcyBpbnZhbGlkXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlQWJpKGFiaTogRW50cnlGdW5jdGlvbkFCSSk6IHZvaWQge1xuICAgIGlmICghYWJpIHx8IHR5cGVvZiBhYmkgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FCSSBtdXN0IGJlIGEgdmFsaWQgRW50cnlGdW5jdGlvbkFCSSBvYmplY3QnKTtcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWJpLnR5cGVQYXJhbWV0ZXJzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBQkkgbXVzdCBoYXZlIGEgdHlwZVBhcmFtZXRlcnMgYXJyYXkuIFVzZSBbXSBpZiB0aGUgZnVuY3Rpb24gaGFzIG5vIHR5cGUgcGFyYW1ldGVycycpO1xuICAgIH1cblxuICAgIGlmICghQXJyYXkuaXNBcnJheShhYmkucGFyYW1ldGVycykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQUJJIG11c3QgaGF2ZSBhIHBhcmFtZXRlcnMgYXJyYXkgY29udGFpbmluZyBUeXBlVGFnIG9iamVjdHMgZm9yIGVhY2ggZnVuY3Rpb24gcGFyYW1ldGVyJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL2N1c3RvbVRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUE0QztBQUU1QyxtREFBdUQ7QUFDdkQsK0NBTzRCO0FBRTVCLG9EQUErRTtBQUUvRTs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEseUJBQVc7SUFPaEQsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFMWixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5Qix1QkFBa0IsR0FBeUUsRUFBRSxDQUFDO1FBS3BHLElBQUksQ0FBQyxLQUFLLEdBQUcsMEJBQWUsQ0FBQyxRQUFRLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCwwQkFBMEIsQ0FBQyxNQUErQjtRQUN4RCxJQUFBLCtCQUFrQixFQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFBLGlDQUFvQixFQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxHQUFxQjtRQUN2QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxnQkFBZ0I7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0MsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRDs7OztPQUlHO0lBQ08sdUJBQXVCLENBQUMsT0FBMkI7UUFDM0QsSUFBSSxDQUFDLENBQUMsT0FBTyxZQUFZLHdDQUErQixDQUFDLEVBQUUsQ0FBQztZQUMxRCxNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFFNUMsd0JBQXdCO1FBQ3hCLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25FLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25FLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFFbEUsTUFBTSxVQUFVLEdBQUcsR0FBRyxhQUFhLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztRQUUzRCw2REFBNkQ7UUFDN0QsSUFBQSwrQkFBa0IsRUFBQyxVQUFVLENBQUMsQ0FBQztRQUMvQixJQUFBLGlDQUFvQixFQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQztRQUV4QyxnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxJQUV2QyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDTyx5QkFBeUI7UUFDakMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFFekQsT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLGFBQWEsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNsQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzFDLEdBQUcsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1NBQzVCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDBCQUEwQjtRQUN4QixPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRTtZQUNsQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFO1lBQ3RDLGFBQWEsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNsQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzFDLEdBQUcsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1NBQzVCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFJLFNBQVM7UUFDWCxpRkFBaUY7UUFDakYsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPO2dCQUNMLE9BQU8sRUFBRSxFQUFFLEVBQUUsd0NBQXdDO2dCQUNyRCxNQUFNLEVBQUUsR0FBRzthQUNaLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLDRCQUE0QjtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RSxDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFOUQsNENBQTRDO1FBQzVDLCtEQUErRDtRQUMvRCxNQUFNLG1CQUFtQixHQUN2QixnR0FBZ0csQ0FBQztRQUNuRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsUUFBUSxpREFBaUQsQ0FBQyxDQUFDO1FBQ3BILENBQUM7UUFFRCxPQUFPLFFBQTZDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssV0FBVyxDQUFDLEdBQXFCO1FBQ3ZDLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLHFGQUFxRixDQUFDLENBQUM7UUFDekcsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMseUZBQXlGLENBQUMsQ0FBQztRQUM3RyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBOUtELDhDQThLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQge1xuICBFbnRyeUZ1bmN0aW9uQUJJLFxuICBFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcyxcbiAgSW5wdXRHZW5lcmF0ZVRyYW5zYWN0aW9uUGF5bG9hZERhdGEsXG4gIFNpbXBsZUVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzLFxuICBUcmFuc2FjdGlvblBheWxvYWQsXG4gIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24sXG59IGZyb20gJ0BhcHRvcy1sYWJzL3RzLXNkayc7XG5pbXBvcnQgeyBDdXN0b21UcmFuc2FjdGlvblBhcmFtcyB9IGZyb20gJy4uL2lmYWNlJztcbmltcG9ydCB7IHZhbGlkYXRlTW9kdWxlTmFtZSwgdmFsaWRhdGVGdW5jdGlvbk5hbWUgfSBmcm9tICcuLi91dGlscy92YWxpZGF0aW9uJztcblxuLyoqXG4gKiBUcmFuc2FjdGlvbiBjbGFzcyBmb3IgY3VzdG9tIEFwdG9zIHRyYW5zYWN0aW9ucyB3aXRoIGVudHJ5IGZ1bmN0aW9uIHBheWxvYWRzLlxuICovXG5leHBvcnQgY2xhc3MgQ3VzdG9tVHJhbnNhY3Rpb24gZXh0ZW5kcyBUcmFuc2FjdGlvbiB7XG4gIHByaXZhdGUgX21vZHVsZU5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfZnVuY3Rpb25OYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgX3R5cGVBcmd1bWVudHM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgX2Z1bmN0aW9uQXJndW1lbnRzOiBBcnJheTxFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcyB8IFNpbXBsZUVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzPiA9IFtdO1xuICBwcml2YXRlIF9lbnRyeUZ1bmN0aW9uQWJpOiBFbnRyeUZ1bmN0aW9uQUJJO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1c3RvbSB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzXG4gICAqXG4gICAqIEBwYXJhbSB7Q3VzdG9tVHJhbnNhY3Rpb25QYXJhbXN9IHBhcmFtcyAtIEN1c3RvbSB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzXG4gICAqL1xuICBzZXRDdXN0b21UcmFuc2FjdGlvblBhcmFtcyhwYXJhbXM6IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKTogdm9pZCB7XG4gICAgdmFsaWRhdGVNb2R1bGVOYW1lKHBhcmFtcy5tb2R1bGVOYW1lKTtcbiAgICB2YWxpZGF0ZUZ1bmN0aW9uTmFtZShwYXJhbXMuZnVuY3Rpb25OYW1lKTtcbiAgICB0aGlzLnZhbGlkYXRlQWJpKHBhcmFtcy5hYmkpO1xuXG4gICAgdGhpcy5fbW9kdWxlTmFtZSA9IHBhcmFtcy5tb2R1bGVOYW1lO1xuICAgIHRoaXMuX2Z1bmN0aW9uTmFtZSA9IHBhcmFtcy5mdW5jdGlvbk5hbWU7XG4gICAgdGhpcy5fdHlwZUFyZ3VtZW50cyA9IHBhcmFtcy50eXBlQXJndW1lbnRzIHx8IFtdO1xuICAgIHRoaXMuX2Z1bmN0aW9uQXJndW1lbnRzID0gcGFyYW1zLmZ1bmN0aW9uQXJndW1lbnRzIHx8IFtdO1xuICAgIHRoaXMuX2VudHJ5RnVuY3Rpb25BYmkgPSBwYXJhbXMuYWJpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZW50cnkgZnVuY3Rpb24gQUJJXG4gICAqXG4gICAqIEBwYXJhbSB7RW50cnlGdW5jdGlvbkFCSX0gYWJpIC0gVGhlIEFCSSBkZWZpbml0aW9uIGZvciB0aGUgZW50cnkgZnVuY3Rpb25cbiAgICovXG4gIHNldEVudHJ5RnVuY3Rpb25BYmkoYWJpOiBFbnRyeUZ1bmN0aW9uQUJJKTogdm9pZCB7XG4gICAgdGhpcy5fZW50cnlGdW5jdGlvbkFiaSA9IGFiaTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGZ1bGwgZnVuY3Rpb24gbmFtZSBpbiB0aGUgZm9ybWF0IG1vZHVsZU5hbWU6OmZ1bmN0aW9uTmFtZVxuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZnVsbCBmdW5jdGlvbiBuYW1lXG4gICAqL1xuICBnZXQgZnVsbEZ1bmN0aW9uTmFtZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fbW9kdWxlTmFtZSB8fCAhdGhpcy5fZnVuY3Rpb25OYW1lKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLl9tb2R1bGVOYW1lfTo6JHt0aGlzLl9mdW5jdGlvbk5hbWV9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhIHRyYW5zYWN0aW9uIHBheWxvYWQgdG8gZXh0cmFjdCB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblBheWxvYWR9IHBheWxvYWQgLSBUaGUgdHJhbnNhY3Rpb24gcGF5bG9hZCB0byBwYXJzZVxuICAgKi9cbiAgcHJvdGVjdGVkIHBhcnNlVHJhbnNhY3Rpb25QYXlsb2FkKHBheWxvYWQ6IFRyYW5zYWN0aW9uUGF5bG9hZCk6IHZvaWQge1xuICAgIGlmICghKHBheWxvYWQgaW5zdGFuY2VvZiBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBlbnRyeSBmdW5jdGlvbiBwYXlsb2FkIGZvciBjdXN0b20gdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyeUZ1bmN0aW9uID0gcGF5bG9hZC5lbnRyeUZ1bmN0aW9uO1xuXG4gICAgLy8gRXh0cmFjdCBmdW5jdGlvbiBkYXRhXG4gICAgY29uc3QgbW9kdWxlQWRkcmVzcyA9IGVudHJ5RnVuY3Rpb24ubW9kdWxlX25hbWUuYWRkcmVzcy50b1N0cmluZygpO1xuICAgIGNvbnN0IG1vZHVsZUlkZW50aWZpZXIgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLm5hbWUuaWRlbnRpZmllcjtcbiAgICBjb25zdCBmdW5jdGlvbklkZW50aWZpZXIgPSBlbnRyeUZ1bmN0aW9uLmZ1bmN0aW9uX25hbWUuaWRlbnRpZmllcjtcblxuICAgIGNvbnN0IG1vZHVsZU5hbWUgPSBgJHttb2R1bGVBZGRyZXNzfTo6JHttb2R1bGVJZGVudGlmaWVyfWA7XG5cbiAgICAvLyBWYWxpZGF0ZSB0aGUgZXh0cmFjdGVkIG5hbWVzIHVzaW5nIG91ciBleGlzdGluZyB2YWxpZGF0aW9uXG4gICAgdmFsaWRhdGVNb2R1bGVOYW1lKG1vZHVsZU5hbWUpO1xuICAgIHZhbGlkYXRlRnVuY3Rpb25OYW1lKGZ1bmN0aW9uSWRlbnRpZmllcik7XG5cbiAgICB0aGlzLl9tb2R1bGVOYW1lID0gbW9kdWxlTmFtZTtcbiAgICB0aGlzLl9mdW5jdGlvbk5hbWUgPSBmdW5jdGlvbklkZW50aWZpZXI7XG5cbiAgICAvLyBFeHRyYWN0IHR5cGUgYXJndW1lbnRzIGFuZCBmdW5jdGlvbiBhcmd1bWVudHNcbiAgICB0aGlzLl90eXBlQXJndW1lbnRzID0gZW50cnlGdW5jdGlvbi50eXBlX2FyZ3MubWFwKCh0eXBlQXJnKSA9PiB0eXBlQXJnLnRvU3RyaW5nKCkpO1xuICAgIHRoaXMuX2Z1bmN0aW9uQXJndW1lbnRzID0gZW50cnlGdW5jdGlvbi5hcmdzIGFzIEFycmF5PFxuICAgICAgRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXMgfCBTaW1wbGVFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlc1xuICAgID47XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgdGhlIHRyYW5zYWN0aW9uIHBheWxvYWQgZGF0YSBmb3IgdGhlIGN1c3RvbSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcmV0dXJucyB7SW5wdXRHZW5lcmF0ZVRyYW5zYWN0aW9uUGF5bG9hZERhdGF9IFRoZSB0cmFuc2FjdGlvbiBwYXlsb2FkIGRhdGFcbiAgICovXG4gIHByb3RlY3RlZCBnZXRUcmFuc2FjdGlvblBheWxvYWREYXRhKCk6IElucHV0R2VuZXJhdGVUcmFuc2FjdGlvblBheWxvYWREYXRhIHtcbiAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSB0aGlzLmdldFZhbGlkYXRlZEZ1bGxGdW5jdGlvbk5hbWUoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBmdW5jdGlvbjogZnVuY3Rpb25OYW1lLFxuICAgICAgdHlwZUFyZ3VtZW50czogdGhpcy5fdHlwZUFyZ3VtZW50cyxcbiAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyxcbiAgICAgIGFiaTogdGhpcy5fZW50cnlGdW5jdGlvbkFiaSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICpcbiAgICogQHJldHVybnMge0N1c3RvbVRyYW5zYWN0aW9uUGFyYW1zfSBUaGUgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIGdldEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKCk6IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlTmFtZTogdGhpcy5fbW9kdWxlTmFtZSB8fCAnJyxcbiAgICAgIGZ1bmN0aW9uTmFtZTogdGhpcy5fZnVuY3Rpb25OYW1lIHx8ICcnLFxuICAgICAgdHlwZUFyZ3VtZW50czogdGhpcy5fdHlwZUFyZ3VtZW50cyxcbiAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyxcbiAgICAgIGFiaTogdGhpcy5fZW50cnlGdW5jdGlvbkFiaSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSBkZXByZWNhdGVkIHJlY2lwaWVudCBnZXR0ZXIgdG8gaGFuZGxlIGN1c3RvbSB0cmFuc2FjdGlvbnMgZ3JhY2VmdWxseVxuICAgKiBDdXN0b20gdHJhbnNhY3Rpb25zIG1heSBub3QgaGF2ZSB0cmFkaXRpb25hbCByZWNpcGllbnRzXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIC0gdXNlIGByZWNpcGllbnRzKClgXG4gICAqL1xuICBnZXQgcmVjaXBpZW50KCk6IGFueSB7XG4gICAgLy8gRm9yIGN1c3RvbSB0cmFuc2FjdGlvbnMsIHJldHVybiBhIHBsYWNlaG9sZGVyIHJlY2lwaWVudCBpZiBubyByZWNpcGllbnRzIGV4aXN0XG4gICAgaWYgKHRoaXMuX3JlY2lwaWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhZGRyZXNzOiAnJywgLy8gRW1wdHkgYWRkcmVzcyBmb3IgY3VzdG9tIHRyYW5zYWN0aW9uc1xuICAgICAgICBhbW91bnQ6ICcwJyxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9yZWNpcGllbnRzWzBdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB2YWxpZGF0ZWQgZnVsbCBmdW5jdGlvbiBuYW1lIHdpdGggcnVudGltZSBmb3JtYXQgY2hlY2tpbmdcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIHZhbGlkYXRlZCBmdWxsIGZ1bmN0aW9uIG5hbWVcbiAgICogQHRocm93cyB7RXJyb3J9IElmIGZ1bmN0aW9uIG5hbWUgZm9ybWF0IGlzIGludmFsaWRcbiAgICovXG4gIHByaXZhdGUgZ2V0VmFsaWRhdGVkRnVsbEZ1bmN0aW9uTmFtZSgpOiBgJHtzdHJpbmd9Ojoke3N0cmluZ306OiR7c3RyaW5nfWAge1xuICAgIGlmICghdGhpcy5fbW9kdWxlTmFtZSB8fCAhdGhpcy5fZnVuY3Rpb25OYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01vZHVsZSBuYW1lIGFuZCBmdW5jdGlvbiBuYW1lIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IGZ1bGxOYW1lID0gYCR7dGhpcy5fbW9kdWxlTmFtZX06OiR7dGhpcy5fZnVuY3Rpb25OYW1lfWA7XG5cbiAgICAvLyBSdW50aW1lIHZhbGlkYXRpb24gb2YgdGhlIGV4cGVjdGVkIGZvcm1hdFxuICAgIC8vIFN1cHBvcnRzIGJvdGggaGV4IGFkZHJlc3NlcyAoU0hPUlQvTE9ORykgYW5kIG5hbWVkIGFkZHJlc3Nlc1xuICAgIGNvbnN0IGZ1bGxGdW5jdGlvblBhdHRlcm4gPVxuICAgICAgL14oMHhbYS1mQS1GMC05XXsxLDY0fXxbYS16QS1aX11bYS16QS1aMC05X10qKTo6W2EtekEtWl9dW2EtekEtWjAtOV9dKjo6W2EtekEtWl9dW2EtekEtWjAtOV9dKiQvO1xuICAgIGlmICghZnVsbEZ1bmN0aW9uUGF0dGVybi50ZXN0KGZ1bGxOYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZ1bGwgZnVuY3Rpb24gbmFtZSBmb3JtYXQ6IFwiJHtmdWxsTmFtZX1cIi4gRXhwZWN0ZWQgZm9ybWF0OiBcImFkZHJlc3M6Om1vZHVsZTo6ZnVuY3Rpb25cImApO1xuICAgIH1cblxuICAgIHJldHVybiBmdWxsTmFtZSBhcyBgJHtzdHJpbmd9Ojoke3N0cmluZ306OiR7c3RyaW5nfWA7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgQUJJIHN0cnVjdHVyZSBhbmQgcHJvdmlkZSBoZWxwZnVsIGVycm9yIG1lc3NhZ2VzXG4gICAqXG4gICAqIEBwYXJhbSB7RW50cnlGdW5jdGlvbkFCSX0gYWJpIC0gVGhlIEFCSSB0byB2YWxpZGF0ZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgQUJJIGZvcm1hdCBpcyBpbnZhbGlkXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlQWJpKGFiaTogRW50cnlGdW5jdGlvbkFCSSk6IHZvaWQge1xuICAgIGlmICghYWJpIHx8IHR5cGVvZiBhYmkgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FCSSBtdXN0IGJlIGEgdmFsaWQgRW50cnlGdW5jdGlvbkFCSSBvYmplY3QnKTtcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWJpLnR5cGVQYXJhbWV0ZXJzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBQkkgbXVzdCBoYXZlIGEgdHlwZVBhcmFtZXRlcnMgYXJyYXkuIFVzZSBbXSBpZiB0aGUgZnVuY3Rpb24gaGFzIG5vIHR5cGUgcGFyYW1ldGVycycpO1xuICAgIH1cblxuICAgIGlmICghQXJyYXkuaXNBcnJheShhYmkucGFyYW1ldGVycykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQUJJIG11c3QgaGF2ZSBhIHBhcmFtZXRlcnMgYXJyYXkgY29udGFpbmluZyBUeXBlVGFnIG9iamVjdHMgZm9yIGVhY2ggZnVuY3Rpb24gcGFyYW1ldGVyJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"customTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/transactionBuilder/customTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAmC,MAAM,oBAAoB,CAAC;AAC3G,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB;IAC9D,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC;gBAE9B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;OAEG;IACH,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,wBAAwB;IAa5E;;;;;OAKG;IACH,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,wBAAwB;IAKjE;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB;IAM5C;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO;IAgCzE;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAYlC;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,iBAAiB,CAAC;IASzC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,EAAE,WAAW,GAAG,kBAAkB;CAQ1C"}
1
+ {"version":3,"file":"customTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/transactionBuilder/customTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAmC,MAAM,oBAAoB,CAAC;AAC3G,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGnD;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB;IAC9D,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC;gBAE9B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;OAEG;IACH,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,wBAAwB;IAa5E;;;;;OAKG;IACH,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,wBAAwB;IAKjE;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB;IAM5C;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO;IAsBzE;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAYlC;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,iBAAiB,CAAC;IASzC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,EAAE,WAAW,GAAG,kBAAkB;CAQ1C"}
@@ -5,6 +5,7 @@ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
5
  const ts_sdk_1 = require("@aptos-labs/ts-sdk");
6
6
  const transactionBuilder_1 = require("./transactionBuilder");
7
7
  const customTransaction_1 = require("../transaction/customTransaction");
8
+ const validation_1 = require("../utils/validation");
8
9
  /**
9
10
  * Builder for Aptos custom transactions.
10
11
  * Allows building transactions with any entry function call.
@@ -67,23 +68,12 @@ class CustomTransactionBuilder extends transactionBuilder_1.TransactionBuilder {
67
68
  }
68
69
  try {
69
70
  const entryFunction = payload.entryFunction;
70
- // Validate module address format
71
- const moduleAddress = entryFunction.module_name.address.toString();
72
- if (!moduleAddress.startsWith('0x')) {
73
- return false;
74
- }
75
71
  // Validate module and function identifiers
72
+ const moduleAddress = entryFunction.module_name.address.toString();
76
73
  const moduleIdentifier = entryFunction.module_name.name.identifier;
77
74
  const functionIdentifier = entryFunction.function_name.identifier;
78
- // Check identifier format (letters, numbers, underscores, starting with letter/underscore)
79
- const identifierPattern = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
80
- if (!identifierPattern.test(moduleIdentifier) || !identifierPattern.test(functionIdentifier)) {
81
- return false;
82
- }
83
- // Validate module name format
84
75
  const moduleName = `${moduleAddress}::${moduleIdentifier}`;
85
- const moduleNamePattern = /^0x[a-fA-F0-9]{1,64}::[a-zA-Z_][a-zA-Z0-9_]*$/;
86
- if (!moduleNamePattern.test(moduleName)) {
76
+ if (!(0, validation_1.isValidModuleName)(moduleName) || !(0, validation_1.isValidFunctionName)(functionIdentifier)) {
87
77
  return false;
88
78
  }
89
79
  return true;
@@ -134,4 +124,4 @@ class CustomTransactionBuilder extends transactionBuilder_1.TransactionBuilder {
134
124
  }
135
125
  }
136
126
  exports.CustomTransactionBuilder = CustomTransactionBuilder;
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIvY3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUE4RTtBQUU5RSwrQ0FBMkc7QUFFM0csNkRBQTBEO0FBQzFELHdFQUFxRTtBQUdyRTs7O0dBR0c7QUFDSCxNQUFhLHdCQUF5QixTQUFRLHVDQUFrQjtJQUc5RCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkscUNBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCLENBQUMsTUFBK0I7UUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksZ0NBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksZ0NBQXFCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLEdBQXFCO1FBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFD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VyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBeklELDREQXlJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgRW50cnlGdW5jdGlvbkFCSSwgVHJhbnNhY3Rpb25QYXlsb2FkLCBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uIH0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgQ3VzdG9tVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbi9jdXN0b21UcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBDdXN0b21UcmFuc2FjdGlvblBhcmFtcyB9IGZyb20gJy4uL2lmYWNlJztcblxuLyoqXG4gKiBCdWlsZGVyIGZvciBBcHRvcyBjdXN0b20gdHJhbnNhY3Rpb25zLlxuICogQWxsb3dzIGJ1aWxkaW5nIHRyYW5zYWN0aW9ucyB3aXRoIGFueSBlbnRyeSBmdW5jdGlvbiBjYWxsLlxuICovXG5leHBvcnQgY2xhc3MgQ3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF90cmFuc2FjdGlvbjogQ3VzdG9tVHJhbnNhY3Rpb247XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IEN1c3RvbVRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25UeXBlfSBUaGUgdHJhbnNhY3Rpb24gdHlwZVxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkN1c3RvbVR4O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICpcbiAgICogQHBhcmFtIHtDdXN0b21UcmFuc2FjdGlvblBhcmFtc30gcGFyYW1zIC0gQ3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICogQHJldHVybnMge0N1c3RvbVRyYW5zYWN0aW9uQnVpbGRlcn0gVGhlIGJ1aWxkZXIgaW5zdGFuY2VcbiAgICovXG4gIGN1c3RvbVRyYW5zYWN0aW9uKHBhcmFtczogQ3VzdG9tVHJhbnNhY3Rpb25QYXJhbXMpOiBDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGlmICghcGFyYW1zLm1vZHVsZU5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgbW9kdWxlIG5hbWUnKTtcbiAgICB9XG5cbiAgICBpZiAoIXBhcmFtcy5mdW5jdGlvbk5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgZnVuY3Rpb24gbmFtZScpO1xuICAgIH1cblxuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnNldEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBlbnRyeSBmdW5jdGlvbiBBQklcbiAgICpcbiAgICogQHBhcmFtIHtFbnRyeUZ1bmN0aW9uQUJJfSBhYmkgLSBUaGUgQUJJIGRlZmluaXRpb24gZm9yIHRoZSBlbnRyeSBmdW5jdGlvblxuICAgKiBAcmV0dXJucyB7Q3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyfSBUaGUgYnVpbGRlciBpbnN0YW5jZVxuICAgKi9cbiAgZW50cnlGdW5jdGlvbkFiaShhYmk6IEVudHJ5RnVuY3Rpb25BQkkpOiBDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnNldEVudHJ5RnVuY3Rpb25BYmkoYWJpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgYXNzZXRJZChhc3NldElkOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIC8vIEFzc2V0IElEIGlzIG9wdGlvbmFsIGZvciBjdXN0b20gdHJhbnNhY3Rpb25zXG4gICAgdGhpcy5fdHJhbnNhY3Rpb24uYXNzZXRJZCA9IGFzc2V0SWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSB0cmFuc2FjdGlvbiBwYXlsb2FkIGlzIHZhbGlkIGZvciB0aGlzIGJ1aWxkZXJcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblBheWxvYWR9IHBheWxvYWQgLSBUaGUgdHJhbnNhY3Rpb24gcGF5bG9hZCB0byBjaGVja1xuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcGF5bG9hZCBpcyB2YWxpZCBmb3IgdGhpcyBidWlsZGVyXG4gICAqL1xuICBwcm90ZWN0ZWQgaXNWYWxpZFRyYW5zYWN0aW9uUGF5bG9hZChwYXlsb2FkOiBUcmFuc2FjdGlvblBheWxvYWQpOiBib29sZWFuIHtcbiAgICAvLyBCYXNpYyBwYXlsb2FkIHR5cGUgY2hlY2tcbiAgICBpZiAoIShwYXlsb2FkIGluc3RhbmNlb2YgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbikpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVudHJ5RnVuY3Rpb24gPSBwYXlsb2FkLmVudHJ5RnVuY3Rpb247XG4gICAgICAvLyBWYWxpZGF0ZSBtb2R1bGUgYWRkcmVzcyBmb3JtYXRcbiAgICAgIGNvbnN0IG1vZHVsZUFkZHJlc3MgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLmFkZHJlc3MudG9TdHJpbmcoKTtcbiAgICAgIGlmICghbW9kdWxlQWRkcmVzcy5zdGFydHNXaXRoKCcweCcpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIC8vIFZhbGlkYXRlIG1vZHVsZSBhbmQgZnVuY3Rpb24gaWRlbnRpZmllcnNcbiAgICAgIGNvbnN0IG1vZHVsZUlkZW50aWZpZXIgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLm5hbWUuaWRlbnRpZmllcjtcbiAgICAgIGNvbnN0IGZ1bmN0aW9uSWRlbnRpZmllciA9IGVudHJ5RnVuY3Rpb24uZnVuY3Rpb25fbmFtZS5pZGVudGlmaWVyO1xuICAgICAgLy8gQ2hlY2sgaWRlbnRpZmllciBmb3JtYXQgKGxldHRlcnMsIG51bWJlcnMsIHVuZGVyc2NvcmVzLCBzdGFydGluZyB3aXRoIGxldHRlci91bmRlcnNjb3JlKVxuICAgICAgY29uc3QgaWRlbnRpZmllclBhdHRlcm4gPSAvXlthLXpBLVpfXVthLXpBLVowLTlfXSokLztcbiAgICAgIGlmICghaWRlbnRpZmllclBhdHRlcm4udGVzdChtb2R1bGVJZGVudGlmaWVyKSB8fCAhaWRlbnRpZmllclBhdHRlcm4udGVzdChmdW5jdGlvbklkZW50aWZpZXIpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIC8vIFZhbGlkYXRlIG1vZHVsZSBuYW1lIGZvcm1hdFxuICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IGAke21vZHVsZUFkZHJlc3N9Ojoke21vZHVsZUlkZW50aWZpZXJ9YDtcbiAgICAgIGNvbnN0IG1vZHVsZU5hbWVQYXR0ZXJuID0gL14weFthLWZBLUYwLTldezEsNjR9OjpbYS16QS1aX11bYS16QS1aMC05X10qJC87XG4gICAgICBpZiAoIW1vZHVsZU5hbWVQYXR0ZXJuLnRlc3QobW9kdWxlTmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgYnVpbGRlciBmcm9tIGFuIGV4aXN0aW5nIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IC0gVGhlIHRyYW5zYWN0aW9uIHRvIGluaXRpYWxpemUgZnJvbVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuXG4gICAgaWYgKHR4IGluc3RhbmNlb2YgQ3VzdG9tVHJhbnNhY3Rpb24pIHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHR4LmdldEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKCk7XG4gICAgICAvLyBPbmx5IHNldCBjdXN0b20gdHJhbnNhY3Rpb24gcGFyYW1zIGlmIHRoZXkgYXJlIGRlZmluZWRcbiAgICAgIGlmIChwYXJhbXMubW9kdWxlTmFtZSAmJiBwYXJhbXMuZnVuY3Rpb25OYW1lKSB7XG4gICAgICAgIHRoaXMuY3VzdG9tVHJhbnNhY3Rpb24ocGFyYW1zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgdGhlIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEN1c3RvbVRyYW5zYWN0aW9uPn0gVGhlIGJ1aWx0IHRyYW5zYWN0aW9uXG4gICAqL1xuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPEN1c3RvbVRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgcGFyYW1zID0gKHRoaXMuX3RyYW5zYWN0aW9uIGFzIEN1c3RvbVRyYW5zYWN0aW9uKS5nZXRDdXN0b21UcmFuc2FjdGlvblBhcmFtcygpO1xuICAgIGlmICghcGFyYW1zLm1vZHVsZU5hbWUgfHwgIXBhcmFtcy5mdW5jdGlvbk5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgbW9kdWxlIG9yIGZ1bmN0aW9uIG5hbWUnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKGF3YWl0IHN1cGVyLmJ1aWxkKCkpIGFzIEN1c3RvbVRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBpbnN0YW5jZSBmcm9tIGFuIGV4aXN0aW5nIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IC0gVGhlIHRyYW5zYWN0aW9uIHRvIGNvbnZlcnRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIGZyb20odHg6IFRyYW5zYWN0aW9uKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICBpZiAoISh0eCBpbnN0YW5jZW9mIEN1c3RvbVRyYW5zYWN0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0QnVpbGRlcih0eCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIvY3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUE4RTtBQUU5RSwrQ0FBMkc7QUFFM0csNkRBQTBEO0FBQzFELHdFQUFxRTtBQUVyRSxvREFBNkU7QUFFN0U7OztHQUdHO0FBQ0gsTUFBYSx3QkFBeUIsU0FBUSx1Q0FBa0I7SUFHOUQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHFDQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7T0FFRztJQUNILElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFDLE1BQStCO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDekQsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxnQkFBZ0IsQ0FBQyxHQUFxQjtRQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLE9BQWU7UUFDckIsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLHlCQUF5QixDQUFDLE9BQTJCO1FBQzdELDJCQUEyQjtRQUMzQixJQUFJLENBQUMsQ0FBQyxPQUFPLFlBQVksd0NBQStCLENBQUMsRUFBRSxDQUFDO1lBQzFELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDNUMsMkNBQTJDO1lBQzNDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25FLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ25FLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7WUFDbEUsTUFBTSxVQUFVLEdBQUcsR0FBRyxhQUFhLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztZQUUzRCxJQUFJLENBQUMsSUFBQSw4QkFBaUIsRUFBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUEsZ0NBQW1CLEVBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDO2dCQUMvRSxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXRCLElBQUksRUFBRSxZQUFZLHFDQUFpQixFQUFFLENBQUM7WUFDcEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDL0MseURBQXlEO1lBQ3pELElBQUksTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLE1BQU0sR0FBSSxJQUFJLENBQUMsWUFBa0MsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3JGLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQy9DLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQzlFLENBQUM7UUFFRCxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQXNCLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUFDLEVBQWU7UUFDbEIsSUFBSSxDQUFDLENBQUMsRUFBRSxZQUFZLHFDQUFpQixDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUksZ0NBQXFCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQS9IRCw0REErSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEVudHJ5RnVuY3Rpb25BQkksIFRyYW5zYWN0aW9uUGF5bG9hZCwgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbiB9IGZyb20gJ0BhcHRvcy1sYWJzL3RzLXNkayc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEN1c3RvbVRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24vY3VzdG9tVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQ3VzdG9tVHJhbnNhY3Rpb25QYXJhbXMgfSBmcm9tICcuLi9pZmFjZSc7XG5pbXBvcnQgeyBpc1ZhbGlkTW9kdWxlTmFtZSwgaXNWYWxpZEZ1bmN0aW9uTmFtZSB9IGZyb20gJy4uL3V0aWxzL3ZhbGlkYXRpb24nO1xuXG4vKipcbiAqIEJ1aWxkZXIgZm9yIEFwdG9zIGN1c3RvbSB0cmFuc2FjdGlvbnMuXG4gKiBBbGxvd3MgYnVpbGRpbmcgdHJhbnNhY3Rpb25zIHdpdGggYW55IGVudHJ5IGZ1bmN0aW9uIGNhbGwuXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3RyYW5zYWN0aW9uOiBDdXN0b21UcmFuc2FjdGlvbjtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSBuZXcgQ3VzdG9tVHJhbnNhY3Rpb24oX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvblR5cGV9IFRoZSB0cmFuc2FjdGlvbiB0eXBlXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQ3VzdG9tVHg7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjdXN0b20gdHJhbnNhY3Rpb24gcGFyYW1ldGVyc1xuICAgKlxuICAgKiBAcGFyYW0ge0N1c3RvbVRyYW5zYWN0aW9uUGFyYW1zfSBwYXJhbXMgLSBDdXN0b20gdHJhbnNhY3Rpb24gcGFyYW1ldGVyc1xuICAgKiBAcmV0dXJucyB7Q3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyfSBUaGUgYnVpbGRlciBpbnN0YW5jZVxuICAgKi9cbiAgY3VzdG9tVHJhbnNhY3Rpb24ocGFyYW1zOiBDdXN0b21UcmFuc2FjdGlvblBhcmFtcyk6IEN1c3RvbVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgaWYgKCFwYXJhbXMubW9kdWxlTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBtb2R1bGUgbmFtZScpO1xuICAgIH1cblxuICAgIGlmICghcGFyYW1zLmZ1bmN0aW9uTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBmdW5jdGlvbiBuYW1lJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fdHJhbnNhY3Rpb24uc2V0Q3VzdG9tVHJhbnNhY3Rpb25QYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGVudHJ5IGZ1bmN0aW9uIEFCSVxuICAgKlxuICAgKiBAcGFyYW0ge0VudHJ5RnVuY3Rpb25BQkl9IGFiaSAtIFRoZSBBQkkgZGVmaW5pdGlvbiBmb3IgdGhlIGVudHJ5IGZ1bmN0aW9uXG4gICAqIEByZXR1cm5zIHtDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoZSBidWlsZGVyIGluc3RhbmNlXG4gICAqL1xuICBlbnRyeUZ1bmN0aW9uQWJpKGFiaTogRW50cnlGdW5jdGlvbkFCSSk6IEN1c3RvbVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24uc2V0RW50cnlGdW5jdGlvbkFiaShhYmkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBhc3NldElkKGFzc2V0SWQ6IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgLy8gQXNzZXQgSUQgaXMgb3B0aW9uYWwgZm9yIGN1c3RvbSB0cmFuc2FjdGlvbnNcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5hc3NldElkID0gYXNzZXRJZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIHRyYW5zYWN0aW9uIHBheWxvYWQgaXMgdmFsaWQgZm9yIHRoaXMgYnVpbGRlclxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uUGF5bG9hZH0gcGF5bG9hZCAtIFRoZSB0cmFuc2FjdGlvbiBwYXlsb2FkIHRvIGNoZWNrXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBwYXlsb2FkIGlzIHZhbGlkIGZvciB0aGlzIGJ1aWxkZXJcbiAgICovXG4gIHByb3RlY3RlZCBpc1ZhbGlkVHJhbnNhY3Rpb25QYXlsb2FkKHBheWxvYWQ6IFRyYW5zYWN0aW9uUGF5bG9hZCk6IGJvb2xlYW4ge1xuICAgIC8vIEJhc2ljIHBheWxvYWQgdHlwZSBjaGVja1xuICAgIGlmICghKHBheWxvYWQgaW5zdGFuY2VvZiBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgZW50cnlGdW5jdGlvbiA9IHBheWxvYWQuZW50cnlGdW5jdGlvbjtcbiAgICAgIC8vIFZhbGlkYXRlIG1vZHVsZSBhbmQgZnVuY3Rpb24gaWRlbnRpZmllcnNcbiAgICAgIGNvbnN0IG1vZHVsZUFkZHJlc3MgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLmFkZHJlc3MudG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IG1vZHVsZUlkZW50aWZpZXIgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLm5hbWUuaWRlbnRpZmllcjtcbiAgICAgIGNvbnN0IGZ1bmN0aW9uSWRlbnRpZmllciA9IGVudHJ5RnVuY3Rpb24uZnVuY3Rpb25fbmFtZS5pZGVudGlmaWVyO1xuICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IGAke21vZHVsZUFkZHJlc3N9Ojoke21vZHVsZUlkZW50aWZpZXJ9YDtcblxuICAgICAgaWYgKCFpc1ZhbGlkTW9kdWxlTmFtZShtb2R1bGVOYW1lKSB8fCAhaXNWYWxpZEZ1bmN0aW9uTmFtZShmdW5jdGlvbklkZW50aWZpZXIpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXIgZnJvbSBhbiBleGlzdGluZyB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCAtIFRoZSB0cmFuc2FjdGlvbiB0byBpbml0aWFsaXplIGZyb21cbiAgICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcblxuICAgIGlmICh0eCBpbnN0YW5jZW9mIEN1c3RvbVRyYW5zYWN0aW9uKSB7XG4gICAgICBjb25zdCBwYXJhbXMgPSB0eC5nZXRDdXN0b21UcmFuc2FjdGlvblBhcmFtcygpO1xuICAgICAgLy8gT25seSBzZXQgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtcyBpZiB0aGV5IGFyZSBkZWZpbmVkXG4gICAgICBpZiAocGFyYW1zLm1vZHVsZU5hbWUgJiYgcGFyYW1zLmZ1bmN0aW9uTmFtZSkge1xuICAgICAgICB0aGlzLmN1c3RvbVRyYW5zYWN0aW9uKHBhcmFtcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHRoZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxDdXN0b21UcmFuc2FjdGlvbj59IFRoZSBidWlsdCB0cmFuc2FjdGlvblxuICAgKi9cbiAgYXN5bmMgYnVpbGQoKTogUHJvbWlzZTxDdXN0b21UcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHBhcmFtcyA9ICh0aGlzLl90cmFuc2FjdGlvbiBhcyBDdXN0b21UcmFuc2FjdGlvbikuZ2V0Q3VzdG9tVHJhbnNhY3Rpb25QYXJhbXMoKTtcbiAgICBpZiAoIXBhcmFtcy5tb2R1bGVOYW1lIHx8ICFwYXJhbXMuZnVuY3Rpb25OYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIHJlcXVpcmVkIG1vZHVsZSBvciBmdW5jdGlvbiBuYW1lJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChhd2FpdCBzdXBlci5idWlsZCgpKSBhcyBDdXN0b21UcmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXIgaW5zdGFuY2UgZnJvbSBhbiBleGlzdGluZyB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCAtIFRoZSB0cmFuc2FjdGlvbiB0byBjb252ZXJ0XG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoZSB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBmcm9tKHR4OiBUcmFuc2FjdGlvbik6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgaWYgKCEodHggaW5zdGFuY2VvZiBDdXN0b21UcmFuc2FjdGlvbikpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24gdHlwZScpO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Validation utilities for Aptos transactions
3
+ */
4
+ /**
5
+ * Validate module name format (throwing version)
6
+ *
7
+ * @param {string} moduleName - Module name to validate
8
+ * @throws {Error} If module name format is invalid
9
+ */
10
+ export declare function validateModuleName(moduleName: string): void;
11
+ /**
12
+ * Validate function name format (throwing version)
13
+ *
14
+ * @param {string} functionName - Function name to validate
15
+ * @throws {Error} If function name format is invalid
16
+ */
17
+ export declare function validateFunctionName(functionName: string): void;
18
+ /**
19
+ * Check if a module name matches the expected pattern (non-throwing version)
20
+ *
21
+ * @param {string} moduleName - Module name to check
22
+ * @returns {boolean} True if valid, false otherwise
23
+ */
24
+ export declare function isValidModuleName(moduleName: string): boolean;
25
+ /**
26
+ * Check if a function name matches the expected pattern (non-throwing version)
27
+ *
28
+ * @param {string} functionName - Function name to check
29
+ * @returns {boolean} True if valid, false otherwise
30
+ */
31
+ export declare function isValidFunctionName(functionName: string): boolean;
32
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4DH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAK3D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAK/D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAEjE"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ /**
3
+ * Validation utilities for Aptos transactions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateModuleName = validateModuleName;
7
+ exports.validateFunctionName = validateFunctionName;
8
+ exports.isValidModuleName = isValidModuleName;
9
+ exports.isValidFunctionName = isValidFunctionName;
10
+ /**
11
+ * Core validation logic for module names
12
+ *
13
+ * @param {string} moduleName - Module name to validate
14
+ * @returns {ValidationResult} Validation result with isValid flag and optional error message
15
+ */
16
+ function validateModuleNameCore(moduleName) {
17
+ if (!moduleName || typeof moduleName !== 'string') {
18
+ return {
19
+ isValid: false,
20
+ errorMessage: 'Module name is required and must be a non-empty string',
21
+ };
22
+ }
23
+ // Aptos module name format: address::module_name
24
+ // Supports both SHORT (0x1) and LONG (0x0000...0001) address formats
25
+ const moduleNamePattern = /^0x[a-fA-F0-9]{1,64}::[a-zA-Z_][a-zA-Z0-9_]*$/;
26
+ if (!moduleNamePattern.test(moduleName)) {
27
+ return {
28
+ isValid: false,
29
+ errorMessage: `Invalid module name format: "${moduleName}". Expected format: "0xaddress::module_name" (hex addresses only)`,
30
+ };
31
+ }
32
+ return { isValid: true };
33
+ }
34
+ /**
35
+ * Core validation logic for function names
36
+ *
37
+ * @param {string} functionName - Function name to validate
38
+ * @returns {ValidationResult} Validation result with isValid flag and optional error message
39
+ */
40
+ function validateFunctionNameCore(functionName) {
41
+ if (!functionName || typeof functionName !== 'string') {
42
+ return {
43
+ isValid: false,
44
+ errorMessage: 'Function name is required and must be a non-empty string',
45
+ };
46
+ }
47
+ // Aptos function name pattern: valid identifier (letters, numbers, underscores, starting with letter/underscore)
48
+ const functionNamePattern = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
49
+ if (!functionNamePattern.test(functionName)) {
50
+ return {
51
+ isValid: false,
52
+ errorMessage: `Invalid function name format: "${functionName}". Function names must be valid identifiers (letters, numbers, underscores, starting with letter or underscore)`,
53
+ };
54
+ }
55
+ return { isValid: true };
56
+ }
57
+ /**
58
+ * Validate module name format (throwing version)
59
+ *
60
+ * @param {string} moduleName - Module name to validate
61
+ * @throws {Error} If module name format is invalid
62
+ */
63
+ function validateModuleName(moduleName) {
64
+ const result = validateModuleNameCore(moduleName);
65
+ if (!result.isValid) {
66
+ throw new Error(result.errorMessage);
67
+ }
68
+ }
69
+ /**
70
+ * Validate function name format (throwing version)
71
+ *
72
+ * @param {string} functionName - Function name to validate
73
+ * @throws {Error} If function name format is invalid
74
+ */
75
+ function validateFunctionName(functionName) {
76
+ const result = validateFunctionNameCore(functionName);
77
+ if (!result.isValid) {
78
+ throw new Error(result.errorMessage);
79
+ }
80
+ }
81
+ /**
82
+ * Check if a module name matches the expected pattern (non-throwing version)
83
+ *
84
+ * @param {string} moduleName - Module name to check
85
+ * @returns {boolean} True if valid, false otherwise
86
+ */
87
+ function isValidModuleName(moduleName) {
88
+ return validateModuleNameCore(moduleName).isValid;
89
+ }
90
+ /**
91
+ * Check if a function name matches the expected pattern (non-throwing version)
92
+ *
93
+ * @param {string} functionName - Function name to check
94
+ * @returns {boolean} True if valid, false otherwise
95
+ */
96
+ function isValidFunctionName(functionName) {
97
+ return validateFunctionNameCore(functionName).isValid;
98
+ }
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdXRpbHMvdmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7O0FBa0VILGdEQUtDO0FBUUQsb0RBS0M7QUFRRCw4Q0FFQztBQVFELGtEQUVDO0FBakdEOzs7OztHQUtHO0FBQ0gsU0FBUyxzQkFBc0IsQ0FBQyxVQUFrQjtJQUNoRCxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2xELE9BQU87WUFDTCxPQUFPLEVBQUUsS0FBSztZQUNkLFlBQVksRUFBRSx3REFBd0Q7U0FDdkUsQ0FBQztJQUNKLENBQUM7SUFFRCxpREFBaUQ7SUFDakQscUVBQXFFO0lBQ3JFLE1BQU0saUJBQWlCLEdBQUcsK0NBQStDLENBQUM7SUFDMUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ3hDLE9BQU87WUFDTCxPQUFPLEVBQUUsS0FBSztZQUNkLFlBQVksRUFBRSxnQ0FBZ0MsVUFBVSxtRUFBbUU7U0FDNUgsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQzNCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsd0JBQXdCLENBQUMsWUFBb0I7SUFDcEQsSUFBSSxDQUFDLFlBQVksSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN0RCxPQUFPO1lBQ0wsT0FBTyxFQUFFLEtBQUs7WUFDZCxZQUFZLEVBQUUsMERBQTBEO1NBQ3pFLENBQUM7SUFDSixDQUFDO0lBRUQsaUhBQWlIO0lBQ2pILE1BQU0sbUJBQW1CLEdBQUcsMEJBQTBCLENBQUM7SUFDdkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQzVDLE9BQU87WUFDTCxPQUFPLEVBQUUsS0FBSztZQUNkLFlBQVksRUFBRSxrQ0FBa0MsWUFBWSxpSEFBaUg7U0FDOUssQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQzNCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLFVBQWtCO0lBQ25ELE1BQU0sTUFBTSxHQUFHLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLFlBQW9CO0lBQ3ZELE1BQU0sTUFBTSxHQUFHLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLFVBQWtCO0lBQ2xELE9BQU8sc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3BELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLG1CQUFtQixDQUFDLFlBQW9CO0lBQ3RELE9BQU8sd0JBQXdCLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFZhbGlkYXRpb24gdXRpbGl0aWVzIGZvciBBcHRvcyB0cmFuc2FjdGlvbnNcbiAqL1xuXG5pbnRlcmZhY2UgVmFsaWRhdGlvblJlc3VsdCB7XG4gIGlzVmFsaWQ6IGJvb2xlYW47XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb3JlIHZhbGlkYXRpb24gbG9naWMgZm9yIG1vZHVsZSBuYW1lc1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBtb2R1bGVOYW1lIC0gTW9kdWxlIG5hbWUgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtWYWxpZGF0aW9uUmVzdWx0fSBWYWxpZGF0aW9uIHJlc3VsdCB3aXRoIGlzVmFsaWQgZmxhZyBhbmQgb3B0aW9uYWwgZXJyb3IgbWVzc2FnZVxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZU1vZHVsZU5hbWVDb3JlKG1vZHVsZU5hbWU6IHN0cmluZyk6IFZhbGlkYXRpb25SZXN1bHQge1xuICBpZiAoIW1vZHVsZU5hbWUgfHwgdHlwZW9mIG1vZHVsZU5hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzVmFsaWQ6IGZhbHNlLFxuICAgICAgZXJyb3JNZXNzYWdlOiAnTW9kdWxlIG5hbWUgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyxcbiAgICB9O1xuICB9XG5cbiAgLy8gQXB0b3MgbW9kdWxlIG5hbWUgZm9ybWF0OiBhZGRyZXNzOjptb2R1bGVfbmFtZVxuICAvLyBTdXBwb3J0cyBib3RoIFNIT1JUICgweDEpIGFuZCBMT05HICgweDAwMDAuLi4wMDAxKSBhZGRyZXNzIGZvcm1hdHNcbiAgY29uc3QgbW9kdWxlTmFtZVBhdHRlcm4gPSAvXjB4W2EtZkEtRjAtOV17MSw2NH06OlthLXpBLVpfXVthLXpBLVowLTlfXSokLztcbiAgaWYgKCFtb2R1bGVOYW1lUGF0dGVybi50ZXN0KG1vZHVsZU5hbWUpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzVmFsaWQ6IGZhbHNlLFxuICAgICAgZXJyb3JNZXNzYWdlOiBgSW52YWxpZCBtb2R1bGUgbmFtZSBmb3JtYXQ6IFwiJHttb2R1bGVOYW1lfVwiLiBFeHBlY3RlZCBmb3JtYXQ6IFwiMHhhZGRyZXNzOjptb2R1bGVfbmFtZVwiIChoZXggYWRkcmVzc2VzIG9ubHkpYCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHsgaXNWYWxpZDogdHJ1ZSB9O1xufVxuXG4vKipcbiAqIENvcmUgdmFsaWRhdGlvbiBsb2dpYyBmb3IgZnVuY3Rpb24gbmFtZXNcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gZnVuY3Rpb25OYW1lIC0gRnVuY3Rpb24gbmFtZSB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge1ZhbGlkYXRpb25SZXN1bHR9IFZhbGlkYXRpb24gcmVzdWx0IHdpdGggaXNWYWxpZCBmbGFnIGFuZCBvcHRpb25hbCBlcnJvciBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlRnVuY3Rpb25OYW1lQ29yZShmdW5jdGlvbk5hbWU6IHN0cmluZyk6IFZhbGlkYXRpb25SZXN1bHQge1xuICBpZiAoIWZ1bmN0aW9uTmFtZSB8fCB0eXBlb2YgZnVuY3Rpb25OYW1lICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB7XG4gICAgICBpc1ZhbGlkOiBmYWxzZSxcbiAgICAgIGVycm9yTWVzc2FnZTogJ0Z1bmN0aW9uIG5hbWUgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyxcbiAgICB9O1xuICB9XG5cbiAgLy8gQXB0b3MgZnVuY3Rpb24gbmFtZSBwYXR0ZXJuOiB2YWxpZCBpZGVudGlmaWVyIChsZXR0ZXJzLCBudW1iZXJzLCB1bmRlcnNjb3Jlcywgc3RhcnRpbmcgd2l0aCBsZXR0ZXIvdW5kZXJzY29yZSlcbiAgY29uc3QgZnVuY3Rpb25OYW1lUGF0dGVybiA9IC9eW2EtekEtWl9dW2EtekEtWjAtOV9dKiQvO1xuICBpZiAoIWZ1bmN0aW9uTmFtZVBhdHRlcm4udGVzdChmdW5jdGlvbk5hbWUpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzVmFsaWQ6IGZhbHNlLFxuICAgICAgZXJyb3JNZXNzYWdlOiBgSW52YWxpZCBmdW5jdGlvbiBuYW1lIGZvcm1hdDogXCIke2Z1bmN0aW9uTmFtZX1cIi4gRnVuY3Rpb24gbmFtZXMgbXVzdCBiZSB2YWxpZCBpZGVudGlmaWVycyAobGV0dGVycywgbnVtYmVycywgdW5kZXJzY29yZXMsIHN0YXJ0aW5nIHdpdGggbGV0dGVyIG9yIHVuZGVyc2NvcmUpYCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHsgaXNWYWxpZDogdHJ1ZSB9O1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIG1vZHVsZSBuYW1lIGZvcm1hdCAodGhyb3dpbmcgdmVyc2lvbilcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbW9kdWxlTmFtZSAtIE1vZHVsZSBuYW1lIHRvIHZhbGlkYXRlXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgbW9kdWxlIG5hbWUgZm9ybWF0IGlzIGludmFsaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTW9kdWxlTmFtZShtb2R1bGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgY29uc3QgcmVzdWx0ID0gdmFsaWRhdGVNb2R1bGVOYW1lQ29yZShtb2R1bGVOYW1lKTtcbiAgaWYgKCFyZXN1bHQuaXNWYWxpZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihyZXN1bHQuZXJyb3JNZXNzYWdlKTtcbiAgfVxufVxuXG4vKipcbiAqIFZhbGlkYXRlIGZ1bmN0aW9uIG5hbWUgZm9ybWF0ICh0aHJvd2luZyB2ZXJzaW9uKVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBmdW5jdGlvbk5hbWUgLSBGdW5jdGlvbiBuYW1lIHRvIHZhbGlkYXRlXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgZnVuY3Rpb24gbmFtZSBmb3JtYXQgaXMgaW52YWxpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVGdW5jdGlvbk5hbWUoZnVuY3Rpb25OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgY29uc3QgcmVzdWx0ID0gdmFsaWRhdGVGdW5jdGlvbk5hbWVDb3JlKGZ1bmN0aW9uTmFtZSk7XG4gIGlmICghcmVzdWx0LmlzVmFsaWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IocmVzdWx0LmVycm9yTWVzc2FnZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVjayBpZiBhIG1vZHVsZSBuYW1lIG1hdGNoZXMgdGhlIGV4cGVjdGVkIHBhdHRlcm4gKG5vbi10aHJvd2luZyB2ZXJzaW9uKVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBtb2R1bGVOYW1lIC0gTW9kdWxlIG5hbWUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbGlkLCBmYWxzZSBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRNb2R1bGVOYW1lKG1vZHVsZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gdmFsaWRhdGVNb2R1bGVOYW1lQ29yZShtb2R1bGVOYW1lKS5pc1ZhbGlkO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIGEgZnVuY3Rpb24gbmFtZSBtYXRjaGVzIHRoZSBleHBlY3RlZCBwYXR0ZXJuIChub24tdGhyb3dpbmcgdmVyc2lvbilcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gZnVuY3Rpb25OYW1lIC0gRnVuY3Rpb24gbmFtZSB0byBjaGVja1xuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsaWQsIGZhbHNlIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEZ1bmN0aW9uTmFtZShmdW5jdGlvbk5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gdmFsaWRhdGVGdW5jdGlvbk5hbWVDb3JlKGZ1bmN0aW9uTmFtZSkuaXNWYWxpZDtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/sdk-coin-apt",
3
- "version": "1.0.1-beta.616",
3
+ "version": "1.0.1-beta.618",
4
4
  "description": "BitGo SDK coin library for APT (Aptos) coin",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -41,15 +41,15 @@
41
41
  },
42
42
  "dependencies": {
43
43
  "@aptos-labs/ts-sdk": "1.33.1",
44
- "@bitgo-beta/sdk-core": "8.2.1-beta.1176",
45
- "@bitgo-beta/statics": "15.1.1-beta.1179",
44
+ "@bitgo-beta/sdk-core": "8.2.1-beta.1178",
45
+ "@bitgo-beta/statics": "15.1.1-beta.1181",
46
46
  "bignumber.js": "^9.1.2",
47
47
  "lodash": "^4.17.21"
48
48
  },
49
49
  "devDependencies": {
50
- "@bitgo-beta/sdk-api": "1.10.1-beta.1175",
51
- "@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.1168",
50
+ "@bitgo-beta/sdk-api": "1.10.1-beta.1177",
51
+ "@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.1170",
52
52
  "@bitgo-beta/sdk-test": "^9.0.9"
53
53
  },
54
- "gitHead": "77366afa22903fd152ef137a0a9ca625c76463e0"
54
+ "gitHead": "ea7d122d08e341859c34469d2e089558450ebc97"
55
55
  }