@bitgo-beta/sdk-coin-apt 1.0.1-beta.615 → 1.0.1-beta.617

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.
@@ -55,10 +55,9 @@ export interface RecipientsValidationResult {
55
55
  * ```
56
56
  *
57
57
  * @remarks
58
- * - The `abi` field is optional but provides type validation when present
58
+ * - The `abi` field is required to ensure type safety
59
59
  * - Invalid ABI will cause transaction building to fail
60
- * - Without ABI, the Aptos SDK performs basic validation
61
- * - All Aptos transactions use the same payload structure regardless of complexity
60
+ * - ABI must match the exact function signature of the target entry function
62
61
  */
63
62
  export interface CustomTransactionParams {
64
63
  /**
@@ -94,19 +93,17 @@ export interface CustomTransactionParams {
94
93
  */
95
94
  functionArguments?: Array<EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes>;
96
95
  /**
97
- * Entry function ABI for type validation and safety (optional)
96
+ * Entry function ABI for type validation and safety (required)
98
97
  *
99
- * When provided:
98
+ * Provides:
100
99
  * - Validates argument count matches expected parameters
101
100
  * - Performs type checking during transaction building
102
101
  * - Improves error messages for invalid calls
103
102
  *
104
- * When omitted:
105
- * - Transaction building relies on Aptos SDK basic validation
106
- * - Function signature errors detected at build/simulation time
107
- *
108
- * @remarks Providing incorrect ABI will cause transaction building to fail
103
+ * @remarks
104
+ * - Providing incorrect ABI will cause transaction building to fail
105
+ * - Must match the exact function signature of the target entry function
109
106
  */
110
- abi?: EntryFunctionABI;
107
+ abi: EntryFunctionABI;
111
108
  }
112
109
  //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;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;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;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,EAAE,gBAAgB,CAAC;CACvB"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlIGFzIEJpdEdvVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBFbnRyeUZ1bmN0aW9uQUJJLCBFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcywgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXMgfSBmcm9tICdAYXB0b3MtbGFicy90cy1zZGsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwdFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlbmRlcj86IHN0cmluZztcbiAgdHlwZT86IEJpdEdvVHJhbnNhY3Rpb25UeXBlO1xufVxuXG4vKipcbiAqIFRoZSB0cmFuc2FjdGlvbiBkYXRhIHJldHVybmVkIGZyb20gdGhlIHRvSnNvbigpIGZ1bmN0aW9uIG9mIGEgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZDogc3RyaW5nO1xuICBzZW5kZXI6IHN0cmluZztcbiAgLyoqIEBkZXByZWNhdGVkIC0gdXNlIGByZWNpcGllbnRzYC4gKi9cbiAgcmVjaXBpZW50OiBUcmFuc2FjdGlvblJlY2lwaWVudDtcbiAgcmVjaXBpZW50czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgc2VxdWVuY2VOdW1iZXI6IG51bWJlcjtcbiAgbWF4R2FzQW1vdW50OiBudW1iZXI7XG4gIGdhc1VuaXRQcmljZTogbnVtYmVyO1xuICBnYXNVc2VkOiBudW1iZXI7XG4gIGV4cGlyYXRpb25UaW1lOiBudW1iZXI7XG4gIGZlZVBheWVyOiBzdHJpbmc7XG4gIGFzc2V0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNpcGllbnRzVmFsaWRhdGlvblJlc3VsdCB7XG4gIHJlY2lwaWVudHM6IHtcbiAgICBkZXNlcmlhbGl6ZWRBZGRyZXNzZXM6IHN0cmluZ1tdO1xuICAgIGRlc2VyaWFsaXplZEFtb3VudHM6IFVpbnQ4QXJyYXlbXTtcbiAgfTtcbiAgaXNWYWxpZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciBjdXN0b20gQXB0b3MgZW50cnkgZnVuY3Rpb24gdHJhbnNhY3Rpb25zLlxuICpcbiAqIEVuYWJsZXMgY2FsbGluZyBhbnkgQXB0b3MgZW50cnkgZnVuY3Rpb24gd2hpbGUgbWFpbnRhaW5pbmcgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIEJpdEdvIFNESyBwYXR0ZXJucy5cbiAqIEVudHJ5IGZ1bmN0aW9ucyBhcmUgdGhlIHN0YW5kYXJkIHdheSB0byBpbnRlcmFjdCB3aXRoIEFwdG9zIHNtYXJ0IGNvbnRyYWN0cyBhbmQgc3lzdGVtIGZ1bmN0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyBBUFQgY29pbiB0cmFuc2ZlciAoZXF1aXZhbGVudCB0byBzdGFuZGFyZCB0cmFuc2Zlcik6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB7XG4gKiAgIG1vZHVsZU5hbWU6IFwiMHgxOjphcHRvc19hY2NvdW50XCIsXG4gKiAgIGZ1bmN0aW9uTmFtZTogXCJ0cmFuc2Zlcl9jb2luc1wiLFxuICogICB0eXBlQXJndW1lbnRzOiBbXCIweDE6OmFwdG9zX2NvaW46OkFwdG9zQ29pblwiXSxcbiAqICAgZnVuY3Rpb25Bcmd1bWVudHM6IFtcIjB4MTIzLi4uXCIsIDEwMDAwMDBdIC8vIFtyZWNpcGllbnQsIGFtb3VudF1cbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIEN1c3RvbSBzbWFydCBjb250cmFjdCBjYWxsOlxuICogYGBgdHlwZXNjcmlwdFxuICoge1xuICogICBtb2R1bGVOYW1lOiBcIjB4ODY3ZWQxZjZiZjkxNjE3MWIxZGUzZWU5Mjg0OWI4OTc4YjdkMWI5ZTBhOGNjOTgyYTNkMTlkNTM1ZGZkOWMwYzo6YXB0b3NfbmFtZXNfdjFcIixcbiAqICAgZnVuY3Rpb25OYW1lOiBcInJlZ2lzdGVyX2RvbWFpblwiLFxuICogICB0eXBlQXJndW1lbnRzOiBbXSxcbiAqICAgZnVuY3Rpb25Bcmd1bWVudHM6IFtcIm15ZG9tYWluXCIsIDFdIC8vIFtkb21haW5fbmFtZSwgeWVhcnNdXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcmVtYXJrc1xuICogLSBUaGUgYGFiaWAgZmllbGQgaXMgb3B0aW9uYWwgYnV0IHByb3ZpZGVzIHR5cGUgdmFsaWRhdGlvbiB3aGVuIHByZXNlbnRcbiAqIC0gSW52YWxpZCBBQkkgd2lsbCBjYXVzZSB0cmFuc2FjdGlvbiBidWlsZGluZyB0byBmYWlsXG4gKiAtIFdpdGhvdXQgQUJJLCB0aGUgQXB0b3MgU0RLIHBlcmZvcm1zIGJhc2ljIHZhbGlkYXRpb25cbiAqIC0gQWxsIEFwdG9zIHRyYW5zYWN0aW9ucyB1c2UgdGhlIHNhbWUgcGF5bG9hZCBzdHJ1Y3R1cmUgcmVnYXJkbGVzcyBvZiBjb21wbGV4aXR5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tVHJhbnNhY3Rpb25QYXJhbXMge1xuICAvKipcbiAgICogRnVsbHkgcXVhbGlmaWVkIG1vZHVsZSBuYW1lIGluIGZvcm1hdCBcImFkZHJlc3M6Om1vZHVsZV9uYW1lXCJcbiAgICpcbiAgICogQGV4YW1wbGUgXCIweDE6OmFwdG9zX2FjY291bnRcIiAoc3lzdGVtIG1vZHVsZSlcbiAgICogQGV4YW1wbGUgXCIweDg2N2VkMWY2YmY5MTYxNzFiMWRlM2VlOTI4NDliODk3OGI3ZDFiOWUwYThjYzk4MmEzZDE5ZDUzNWRmZDljMGM6OmFwdG9zX25hbWVzX3YxXCIgKGN1c3RvbSBjb250cmFjdClcbiAgICovXG4gIG1vZHVsZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRW50cnkgZnVuY3Rpb24gbmFtZSB0byBjYWxsIHdpdGhpbiB0aGUgc3BlY2lmaWVkIG1vZHVsZVxuICAgKlxuICAgKiBAZXhhbXBsZSBcInRyYW5zZmVyX2NvaW5zXCIsIFwicmVnaXN0ZXJfZG9tYWluXCIsIFwiY3JlYXRlX2FjY291bnRcIlxuICAgKi9cbiAgZnVuY3Rpb25OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFR5cGUgYXJndW1lbnRzIGZvciBnZW5lcmljIGZ1bmN0aW9ucyAob3B0aW9uYWwpXG4gICAqXG4gICAqIFVzZWQgZm9yIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBnZW5lcmljIHR5cGVzIGxpa2UgQ29pbjxUPi5cbiAgICpcbiAgICogQGV4YW1wbGUgW1wiMHgxOjphcHRvc19jb2luOjpBcHRvc0NvaW5cIl0gZm9yIGNvaW4gdHJhbnNmZXJzXG4gICAqIEBleGFtcGxlIFtdIGZvciBmdW5jdGlvbnMgd2l0aG91dCBnZW5lcmljIHBhcmFtZXRlcnNcbiAgICovXG4gIHR5cGVBcmd1bWVudHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRnVuY3Rpb24gYXJndW1lbnRzIGluIHRoZSBvcmRlciBleHBlY3RlZCBieSB0aGUgZW50cnkgZnVuY3Rpb24gKG9wdGlvbmFsKVxuICAgKlxuICAgKiBBcmd1bWVudHMgYXJlIGF1dG9tYXRpY2FsbHkgc2VyaWFsaXplZCBiYXNlZCBvbiB0aGVpciBKYXZhU2NyaXB0IHR5cGVzLlxuICAgKiBVc2UgYXBwcm9wcmlhdGUgdHlwZXM6IHN0cmluZ3MgZm9yIGFkZHJlc3NlcywgbnVtYmVycy9CaWdJbnRzIGZvciBhbW91bnRzLlxuICAgKlxuICAgKiBAZXhhbXBsZSBbcmVjaXBpZW50X2FkZHJlc3MsIGFtb3VudF0gZm9yIHRyYW5zZmVyc1xuICAgKiBAZXhhbXBsZSBbZG9tYWluX25hbWUsIGR1cmF0aW9uXSBmb3IgZG9tYWluIHJlZ2lzdHJhdGlvblxuICAgKi9cbiAgZnVuY3Rpb25Bcmd1bWVudHM/OiBBcnJheTxFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcyB8IFNpbXBsZUVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzPjtcblxuICAvKipcbiAgICogRW50cnkgZnVuY3Rpb24gQUJJIGZvciB0eXBlIHZhbGlkYXRpb24gYW5kIHNhZmV0eSAob3B0aW9uYWwpXG4gICAqXG4gICAqIFdoZW4gcHJvdmlkZWQ6XG4gICAqIC0gVmFsaWRhdGVzIGFyZ3VtZW50IGNvdW50IG1hdGNoZXMgZXhwZWN0ZWQgcGFyYW1ldGVyc1xuICAgKiAtIFBlcmZvcm1zIHR5cGUgY2hlY2tpbmcgZHVyaW5nIHRyYW5zYWN0aW9uIGJ1aWxkaW5nXG4gICAqIC0gSW1wcm92ZXMgZXJyb3IgbWVzc2FnZXMgZm9yIGludmFsaWQgY2FsbHNcbiAgICpcbiAgICogV2hlbiBvbWl0dGVkOlxuICAgKiAtIFRyYW5zYWN0aW9uIGJ1aWxkaW5nIHJlbGllcyBvbiBBcHRvcyBTREsgYmFzaWMgdmFsaWRhdGlvblxuICAgKiAtIEZ1bmN0aW9uIHNpZ25hdHVyZSBlcnJvcnMgZGV0ZWN0ZWQgYXQgYnVpbGQvc2ltdWxhdGlvbiB0aW1lXG4gICAqXG4gICAqIEByZW1hcmtzIFByb3ZpZGluZyBpbmNvcnJlY3QgQUJJIHdpbGwgY2F1c2UgdHJhbnNhY3Rpb24gYnVpbGRpbmcgdG8gZmFpbFxuICAgKi9cbiAgYWJpPzogRW50cnlGdW5jdGlvbkFCSTtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlIGFzIEJpdEdvVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBFbnRyeUZ1bmN0aW9uQUJJLCBFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcywgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXMgfSBmcm9tICdAYXB0b3MtbGFicy90cy1zZGsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwdFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlbmRlcj86IHN0cmluZztcbiAgdHlwZT86IEJpdEdvVHJhbnNhY3Rpb25UeXBlO1xufVxuXG4vKipcbiAqIFRoZSB0cmFuc2FjdGlvbiBkYXRhIHJldHVybmVkIGZyb20gdGhlIHRvSnNvbigpIGZ1bmN0aW9uIG9mIGEgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZDogc3RyaW5nO1xuICBzZW5kZXI6IHN0cmluZztcbiAgLyoqIEBkZXByZWNhdGVkIC0gdXNlIGByZWNpcGllbnRzYC4gKi9cbiAgcmVjaXBpZW50OiBUcmFuc2FjdGlvblJlY2lwaWVudDtcbiAgcmVjaXBpZW50czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgc2VxdWVuY2VOdW1iZXI6IG51bWJlcjtcbiAgbWF4R2FzQW1vdW50OiBudW1iZXI7XG4gIGdhc1VuaXRQcmljZTogbnVtYmVyO1xuICBnYXNVc2VkOiBudW1iZXI7XG4gIGV4cGlyYXRpb25UaW1lOiBudW1iZXI7XG4gIGZlZVBheWVyOiBzdHJpbmc7XG4gIGFzc2V0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNpcGllbnRzVmFsaWRhdGlvblJlc3VsdCB7XG4gIHJlY2lwaWVudHM6IHtcbiAgICBkZXNlcmlhbGl6ZWRBZGRyZXNzZXM6IHN0cmluZ1tdO1xuICAgIGRlc2VyaWFsaXplZEFtb3VudHM6IFVpbnQ4QXJyYXlbXTtcbiAgfTtcbiAgaXNWYWxpZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciBjdXN0b20gQXB0b3MgZW50cnkgZnVuY3Rpb24gdHJhbnNhY3Rpb25zLlxuICpcbiAqIEVuYWJsZXMgY2FsbGluZyBhbnkgQXB0b3MgZW50cnkgZnVuY3Rpb24gd2hpbGUgbWFpbnRhaW5pbmcgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIEJpdEdvIFNESyBwYXR0ZXJucy5cbiAqIEVudHJ5IGZ1bmN0aW9ucyBhcmUgdGhlIHN0YW5kYXJkIHdheSB0byBpbnRlcmFjdCB3aXRoIEFwdG9zIHNtYXJ0IGNvbnRyYWN0cyBhbmQgc3lzdGVtIGZ1bmN0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyBBUFQgY29pbiB0cmFuc2ZlciAoZXF1aXZhbGVudCB0byBzdGFuZGFyZCB0cmFuc2Zlcik6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB7XG4gKiAgIG1vZHVsZU5hbWU6IFwiMHgxOjphcHRvc19hY2NvdW50XCIsXG4gKiAgIGZ1bmN0aW9uTmFtZTogXCJ0cmFuc2Zlcl9jb2luc1wiLFxuICogICB0eXBlQXJndW1lbnRzOiBbXCIweDE6OmFwdG9zX2NvaW46OkFwdG9zQ29pblwiXSxcbiAqICAgZnVuY3Rpb25Bcmd1bWVudHM6IFtcIjB4MTIzLi4uXCIsIDEwMDAwMDBdIC8vIFtyZWNpcGllbnQsIGFtb3VudF1cbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIEN1c3RvbSBzbWFydCBjb250cmFjdCBjYWxsOlxuICogYGBgdHlwZXNjcmlwdFxuICoge1xuICogICBtb2R1bGVOYW1lOiBcIjB4ODY3ZWQxZjZiZjkxNjE3MWIxZGUzZWU5Mjg0OWI4OTc4YjdkMWI5ZTBhOGNjOTgyYTNkMTlkNTM1ZGZkOWMwYzo6YXB0b3NfbmFtZXNfdjFcIixcbiAqICAgZnVuY3Rpb25OYW1lOiBcInJlZ2lzdGVyX2RvbWFpblwiLFxuICogICB0eXBlQXJndW1lbnRzOiBbXSxcbiAqICAgZnVuY3Rpb25Bcmd1bWVudHM6IFtcIm15ZG9tYWluXCIsIDFdIC8vIFtkb21haW5fbmFtZSwgeWVhcnNdXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcmVtYXJrc1xuICogLSBUaGUgYGFiaWAgZmllbGQgaXMgcmVxdWlyZWQgdG8gZW5zdXJlIHR5cGUgc2FmZXR5XG4gKiAtIEludmFsaWQgQUJJIHdpbGwgY2F1c2UgdHJhbnNhY3Rpb24gYnVpbGRpbmcgdG8gZmFpbFxuICogLSBBQkkgbXVzdCBtYXRjaCB0aGUgZXhhY3QgZnVuY3Rpb24gc2lnbmF0dXJlIG9mIHRoZSB0YXJnZXQgZW50cnkgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXN0b21UcmFuc2FjdGlvblBhcmFtcyB7XG4gIC8qKlxuICAgKiBGdWxseSBxdWFsaWZpZWQgbW9kdWxlIG5hbWUgaW4gZm9ybWF0IFwiYWRkcmVzczo6bW9kdWxlX25hbWVcIlxuICAgKlxuICAgKiBAZXhhbXBsZSBcIjB4MTo6YXB0b3NfYWNjb3VudFwiIChzeXN0ZW0gbW9kdWxlKVxuICAgKiBAZXhhbXBsZSBcIjB4ODY3ZWQxZjZiZjkxNjE3MWIxZGUzZWU5Mjg0OWI4OTc4YjdkMWI5ZTBhOGNjOTgyYTNkMTlkNTM1ZGZkOWMwYzo6YXB0b3NfbmFtZXNfdjFcIiAoY3VzdG9tIGNvbnRyYWN0KVxuICAgKi9cbiAgbW9kdWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbnRyeSBmdW5jdGlvbiBuYW1lIHRvIGNhbGwgd2l0aGluIHRoZSBzcGVjaWZpZWQgbW9kdWxlXG4gICAqXG4gICAqIEBleGFtcGxlIFwidHJhbnNmZXJfY29pbnNcIiwgXCJyZWdpc3Rlcl9kb21haW5cIiwgXCJjcmVhdGVfYWNjb3VudFwiXG4gICAqL1xuICBmdW5jdGlvbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVHlwZSBhcmd1bWVudHMgZm9yIGdlbmVyaWMgZnVuY3Rpb25zIChvcHRpb25hbClcbiAgICpcbiAgICogVXNlZCBmb3IgZnVuY3Rpb25zIHRoYXQgYWNjZXB0IGdlbmVyaWMgdHlwZXMgbGlrZSBDb2luPFQ+LlxuICAgKlxuICAgKiBAZXhhbXBsZSBbXCIweDE6OmFwdG9zX2NvaW46OkFwdG9zQ29pblwiXSBmb3IgY29pbiB0cmFuc2ZlcnNcbiAgICogQGV4YW1wbGUgW10gZm9yIGZ1bmN0aW9ucyB3aXRob3V0IGdlbmVyaWMgcGFyYW1ldGVyc1xuICAgKi9cbiAgdHlwZUFyZ3VtZW50cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiBhcmd1bWVudHMgaW4gdGhlIG9yZGVyIGV4cGVjdGVkIGJ5IHRoZSBlbnRyeSBmdW5jdGlvbiAob3B0aW9uYWwpXG4gICAqXG4gICAqIEFyZ3VtZW50cyBhcmUgYXV0b21hdGljYWxseSBzZXJpYWxpemVkIGJhc2VkIG9uIHRoZWlyIEphdmFTY3JpcHQgdHlwZXMuXG4gICAqIFVzZSBhcHByb3ByaWF0ZSB0eXBlczogc3RyaW5ncyBmb3IgYWRkcmVzc2VzLCBudW1iZXJzL0JpZ0ludHMgZm9yIGFtb3VudHMuXG4gICAqXG4gICAqIEBleGFtcGxlIFtyZWNpcGllbnRfYWRkcmVzcywgYW1vdW50XSBmb3IgdHJhbnNmZXJzXG4gICAqIEBleGFtcGxlIFtkb21haW5fbmFtZSwgZHVyYXRpb25dIGZvciBkb21haW4gcmVnaXN0cmF0aW9uXG4gICAqL1xuICBmdW5jdGlvbkFyZ3VtZW50cz86IEFycmF5PEVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzIHwgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXM+O1xuXG4gIC8qKlxuICAgKiBFbnRyeSBmdW5jdGlvbiBBQkkgZm9yIHR5cGUgdmFsaWRhdGlvbiBhbmQgc2FmZXR5IChyZXF1aXJlZClcbiAgICpcbiAgICogUHJvdmlkZXM6XG4gICAqIC0gVmFsaWRhdGVzIGFyZ3VtZW50IGNvdW50IG1hdGNoZXMgZXhwZWN0ZWQgcGFyYW1ldGVyc1xuICAgKiAtIFBlcmZvcm1zIHR5cGUgY2hlY2tpbmcgZHVyaW5nIHRyYW5zYWN0aW9uIGJ1aWxkaW5nXG4gICAqIC0gSW1wcm92ZXMgZXJyb3IgbWVzc2FnZXMgZm9yIGludmFsaWQgY2FsbHNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogLSBQcm92aWRpbmcgaW5jb3JyZWN0IEFCSSB3aWxsIGNhdXNlIHRyYW5zYWN0aW9uIGJ1aWxkaW5nIHRvIGZhaWxcbiAgICogLSBNdXN0IG1hdGNoIHRoZSBleGFjdCBmdW5jdGlvbiBzaWduYXR1cmUgb2YgdGhlIHRhcmdldCBlbnRyeSBmdW5jdGlvblxuICAgKi9cbiAgYWJpOiBFbnRyeUZ1bmN0aW9uQUJJO1xufVxuIl19
@@ -10,7 +10,7 @@ export declare class CustomTransaction extends Transaction {
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
@@ -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
@@ -76,5 +62,12 @@ export declare class CustomTransaction extends Transaction {
76
62
  * @throws {Error} If function name format is invalid
77
63
  */
78
64
  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;
79
72
  }
80
73
  //# 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,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,CAAC,CAAmB;gBAEjC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK5C;;;;OAIG;IACH,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAUjE;;;;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;IASrD;;;;;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;CAiBrC"}
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,12 +21,14 @@ 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);
26
+ this.validateAbi(params.abi);
25
27
  this._moduleName = params.moduleName;
26
28
  this._functionName = params.functionName;
27
29
  this._typeArguments = params.typeArguments || [];
28
30
  this._functionArguments = params.functionArguments || [];
31
+ this._entryFunctionAbi = params.abi;
29
32
  }
30
33
  /**
31
34
  * Set the entry function ABI
@@ -62,8 +65,8 @@ class CustomTransaction extends transaction_1.Transaction {
62
65
  const functionIdentifier = entryFunction.function_name.identifier;
63
66
  const moduleName = `${moduleAddress}::${moduleIdentifier}`;
64
67
  // Validate the extracted names using our existing validation
65
- this.validateModuleName(moduleName);
66
- this.validateFunctionName(functionIdentifier);
68
+ (0, validation_1.validateModuleName)(moduleName);
69
+ (0, validation_1.validateFunctionName)(functionIdentifier);
67
70
  this._moduleName = moduleName;
68
71
  this._functionName = functionIdentifier;
69
72
  // Extract type arguments and function arguments
@@ -95,42 +98,9 @@ class CustomTransaction extends transaction_1.Transaction {
95
98
  functionName: this._functionName || '',
96
99
  typeArguments: this._typeArguments,
97
100
  functionArguments: this._functionArguments,
101
+ abi: this._entryFunctionAbi,
98
102
  };
99
103
  }
100
- /**
101
- * Validate module name format
102
- *
103
- * @param {string} moduleName - Module name to validate
104
- * @throws {Error} If module name format is invalid
105
- */
106
- validateModuleName(moduleName) {
107
- if (!moduleName || typeof moduleName !== 'string') {
108
- throw new Error('Module name is required and must be a non-empty string');
109
- }
110
- // Aptos module name format: address::module_name
111
- // Supports both SHORT (0x1) and LONG (0x0000...0001) address formats
112
- // Also supports named addresses (resolved at deployment time)
113
- const moduleNamePattern = /^(0x[a-fA-F0-9]{1,64}|[a-zA-Z_][a-zA-Z0-9_]*)::[a-zA-Z_][a-zA-Z0-9_]*$/;
114
- if (!moduleNamePattern.test(moduleName)) {
115
- throw new Error(`Invalid module name format: "${moduleName}". Expected format: "0xaddress::module_name" or "named_address::module_name"`);
116
- }
117
- }
118
- /**
119
- * Validate function name format
120
- *
121
- * @param {string} functionName - Function name to validate
122
- * @throws {Error} If function name format is invalid
123
- */
124
- validateFunctionName(functionName) {
125
- if (!functionName || typeof functionName !== 'string') {
126
- throw new Error('Function name is required and must be a non-empty string');
127
- }
128
- // Aptos function name pattern: valid identifier (letters, numbers, underscores, starting with letter/underscore)
129
- const functionNamePattern = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
130
- if (!functionNamePattern.test(functionName)) {
131
- throw new Error(`Invalid function name format: "${functionName}". Function names must be valid identifiers (letters, numbers, underscores, starting with letter or underscore)`);
132
- }
133
- }
134
104
  /**
135
105
  * Override the deprecated recipient getter to handle custom transactions gracefully
136
106
  * Custom transactions may not have traditional recipients
@@ -166,6 +136,23 @@ class CustomTransaction extends transaction_1.Transaction {
166
136
  }
167
137
  return fullName;
168
138
  }
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
+ }
169
156
  }
170
157
  exports.CustomTransaction = CustomTransaction;
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL2N1c3RvbVRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUE0QztBQUU1QyxtREFBdUQ7QUFDdkQsK0NBTzRCO0FBRzVCOztHQUVHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSx5QkFBVztJQU9oRCxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUxaLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLHVCQUFrQixHQUF5RSxFQUFFLENBQUM7UUFLcEcsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDBCQUEwQixDQUFDLE1BQStCO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxHQUFxQjtRQUN2QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxnQkFBZ0I7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElB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RCxDQUFDO0NBQ0Y7QUFqTUQsOENBaU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7XG4gIEVudHJ5RnVuY3Rpb25BQkksXG4gIEVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzLFxuICBJbnB1dEdlbmVyYXRlVHJhbnNhY3Rpb25QYXlsb2FkRGF0YSxcbiAgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXMsXG4gIFRyYW5zYWN0aW9uUGF5bG9hZCxcbiAgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbixcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zIH0gZnJvbSAnLi4vaWZhY2UnO1xuXG4vKipcbiAqIFRyYW5zYWN0aW9uIGNsYXNzIGZvciBjdXN0b20gQXB0b3MgdHJhbnNhY3Rpb25zIHdpdGggZW50cnkgZnVuY3Rpb24gcGF5bG9hZHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21UcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uIHtcbiAgcHJpdmF0ZSBfbW9kdWxlTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIF9mdW5jdGlvbk5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfdHlwZUFyZ3VtZW50czogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBfZnVuY3Rpb25Bcmd1bWVudHM6IEFycmF5PEVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzIHwgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXM+ID0gW107XG4gIHByaXZhdGUgX2VudHJ5RnVuY3Rpb25BYmk/OiBFbnRyeUZ1bmN0aW9uQUJJO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1c3RvbSB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzXG4gICAqXG4gICAqIEBwYXJhbSB7Q3VzdG9tVHJhbnNhY3Rpb25QYXJhbXN9IHBhcmFtcyAtIEN1c3RvbSB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzXG4gICAqL1xuICBzZXRDdXN0b21UcmFuc2FjdGlvblBhcmFtcyhwYXJhbXM6IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZU1vZHVsZU5hbWUocGFyYW1zLm1vZHVsZU5hbWUpO1xuICAgIHRoaXMudmFsaWRhdGVGdW5jdGlvbk5hbWUocGFyYW1zLmZ1bmN0aW9uTmFtZSk7XG5cbiAgICB0aGlzLl9tb2R1bGVOYW1lID0gcGFyYW1zLm1vZHVsZU5hbWU7XG4gICAgdGhpcy5fZnVuY3Rpb25OYW1lID0gcGFyYW1zLmZ1bmN0aW9uTmFtZTtcbiAgICB0aGlzLl90eXBlQXJndW1lbnRzID0gcGFyYW1zLnR5cGVBcmd1bWVudHMgfHwgW107XG4gICAgdGhpcy5fZnVuY3Rpb25Bcmd1bWVudHMgPSBwYXJhbXMuZnVuY3Rpb25Bcmd1bWVudHMgfHwgW107XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBlbnRyeSBmdW5jdGlvbiBBQklcbiAgICpcbiAgICogQHBhcmFtIHtFbnRyeUZ1bmN0aW9uQUJJfSBhYmkgLSBUaGUgQUJJIGRlZmluaXRpb24gZm9yIHRoZSBlbnRyeSBmdW5jdGlvblxuICAgKi9cbiAgc2V0RW50cnlGdW5jdGlvbkFiaShhYmk6IEVudHJ5RnVuY3Rpb25BQkkpOiB2b2lkIHtcbiAgICB0aGlzLl9lbnRyeUZ1bmN0aW9uQWJpID0gYWJpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZnVsbCBmdW5jdGlvbiBuYW1lIGluIHRoZSBmb3JtYXQgbW9kdWxlTmFtZTo6ZnVuY3Rpb25OYW1lXG4gICAqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmdWxsIGZ1bmN0aW9uIG5hbWVcbiAgICovXG4gIGdldCBmdWxsRnVuY3Rpb25OYW1lKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9tb2R1bGVOYW1lIHx8ICF0aGlzLl9mdW5jdGlvbk5hbWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMuX21vZHVsZU5hbWV9Ojoke3RoaXMuX2Z1bmN0aW9uTmFtZX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlIGEgdHJhbnNhY3Rpb24gcGF5bG9hZCB0byBleHRyYWN0IHRoZSBjdXN0b20gdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uUGF5bG9hZH0gcGF5bG9hZCAtIFRoZSB0cmFuc2FjdGlvbiBwYXlsb2FkIHRvIHBhcnNlXG4gICAqL1xuICBwcm90ZWN0ZWQgcGFyc2VUcmFuc2FjdGlvblBheWxvYWQocGF5bG9hZDogVHJhbnNhY3Rpb25QYXlsb2FkKTogdm9pZCB7XG4gICAgaWYgKCEocGF5bG9hZCBpbnN0YW5jZW9mIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGVudHJ5IGZ1bmN0aW9uIHBheWxvYWQgZm9yIGN1c3RvbSB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IGVudHJ5RnVuY3Rpb24gPSBwYXlsb2FkLmVudHJ5RnVuY3Rpb247XG5cbiAgICAvLyBFeHRyYWN0IGZ1bmN0aW9uIGRhdGFcbiAgICBjb25zdCBtb2R1bGVBZGRyZXNzID0gZW50cnlGdW5jdGlvbi5tb2R1bGVfbmFtZS5hZGRyZXNzLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgbW9kdWxlSWRlbnRpZmllciA9IGVudHJ5RnVuY3Rpb24ubW9kdWxlX25hbWUubmFtZS5pZGVudGlmaWVyO1xuICAgIGNvbnN0IGZ1bmN0aW9uSWRlbnRpZmllciA9IGVudHJ5RnVuY3Rpb24uZnVuY3Rpb25fbmFtZS5pZGVudGlmaWVyO1xuXG4gICAgY29uc3QgbW9kdWxlTmFtZSA9IGAke21vZHVsZUFkZHJlc3N9Ojoke21vZHVsZUlkZW50aWZpZXJ9YDtcblxuICAgIC8vIFZhbGlkYXRlIHRoZSBleHRyYWN0ZWQgbmFtZXMgdXNpbmcgb3VyIGV4aXN0aW5nIHZhbGlkYXRpb25cbiAgICB0aGlzLnZhbGlkYXRlTW9kdWxlTmFtZShtb2R1bGVOYW1lKTtcbiAgICB0aGlzLnZhbGlkYXRlRnVuY3Rpb25OYW1lKGZ1bmN0aW9uSWRlbnRpZmllcik7XG5cbiAgICB0aGlzLl9tb2R1bGVOYW1lID0gbW9kdWxlTmFtZTtcbiAgICB0aGlzLl9mdW5jdGlvbk5hbWUgPSBmdW5jdGlvbklkZW50aWZpZXI7XG5cbiAgICAvLyBFeHRyYWN0IHR5cGUgYXJndW1lbnRzIGFuZCBmdW5jdGlvbiBhcmd1bWVudHNcbiAgICB0aGlzLl90eXBlQXJndW1lbnRzID0gZW50cnlGdW5jdGlvbi50eXBlX2FyZ3MubWFwKCh0eXBlQXJnKSA9PiB0eXBlQXJnLnRvU3RyaW5nKCkpO1xuICAgIHRoaXMuX2Z1bmN0aW9uQXJndW1lbnRzID0gZW50cnlGdW5jdGlvbi5hcmdzIGFzIEFycmF5PFxuICAgICAgRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXMgfCBTaW1wbGVFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlc1xuICAgID47XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgdGhlIHRyYW5zYWN0aW9uIHBheWxvYWQgZGF0YSBmb3IgdGhlIGN1c3RvbSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcmV0dXJucyB7SW5wdXRHZW5lcmF0ZVRyYW5zYWN0aW9uUGF5bG9hZERhdGF9IFRoZSB0cmFuc2FjdGlvbiBwYXlsb2FkIGRhdGFcbiAgICovXG4gIHByb3RlY3RlZCBnZXRUcmFuc2FjdGlvblBheWxvYWREYXRhKCk6IElucHV0R2VuZXJhdGVUcmFuc2FjdGlvblBheWxvYWREYXRhIHtcbiAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSB0aGlzLmdldFZhbGlkYXRlZEZ1bGxGdW5jdGlvbk5hbWUoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBmdW5jdGlvbjogZnVuY3Rpb25OYW1lLFxuICAgICAgdHlwZUFyZ3VtZW50czogdGhpcy5fdHlwZUFyZ3VtZW50cyxcbiAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyxcbiAgICAgIGFiaTogdGhpcy5fZW50cnlGdW5jdGlvbkFiaSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICpcbiAgICogQHJldHVybnMge0N1c3RvbVRyYW5zYWN0aW9uUGFyYW1zfSBUaGUgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIGdldEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKCk6IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlTmFtZTogdGhpcy5fbW9kdWxlTmFtZSB8fCAnJyxcbiAgICAgIGZ1bmN0aW9uTmFtZTogdGhpcy5fZnVuY3Rpb25OYW1lIHx8ICcnLFxuICAgICAgdHlwZUFyZ3VtZW50czogdGhpcy5fdHlwZUFyZ3VtZW50cyxcbiAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIG1vZHVsZSBuYW1lIGZvcm1hdFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbW9kdWxlTmFtZSAtIE1vZHVsZSBuYW1lIHRvIHZhbGlkYXRlXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBtb2R1bGUgbmFtZSBmb3JtYXQgaXMgaW52YWxpZFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZU1vZHVsZU5hbWUobW9kdWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCFtb2R1bGVOYW1lIHx8IHR5cGVvZiBtb2R1bGVOYW1lICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNb2R1bGUgbmFtZSBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcbiAgICB9XG5cbiAgICAvLyBBcHRvcyBtb2R1bGUgbmFtZSBmb3JtYXQ6IGFkZHJlc3M6Om1vZHVsZV9uYW1lXG4gICAgLy8gU3VwcG9ydHMgYm90aCBTSE9SVCAoMHgxKSBhbmQgTE9ORyAoMHgwMDAwLi4uMDAwMSkgYWRkcmVzcyBmb3JtYXRzXG4gICAgLy8gQWxzbyBzdXBwb3J0cyBuYW1lZCBhZGRyZXNzZXMgKHJlc29sdmVkIGF0IGRlcGxveW1lbnQgdGltZSlcbiAgICBjb25zdCBtb2R1bGVOYW1lUGF0dGVybiA9IC9eKDB4W2EtZkEtRjAtOV17MSw2NH18W2EtekEtWl9dW2EtekEtWjAtOV9dKik6OlthLXpBLVpfXVthLXpBLVowLTlfXSokLztcbiAgICBpZiAoIW1vZHVsZU5hbWVQYXR0ZXJuLnRlc3QobW9kdWxlTmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEludmFsaWQgbW9kdWxlIG5hbWUgZm9ybWF0OiBcIiR7bW9kdWxlTmFtZX1cIi4gRXhwZWN0ZWQgZm9ybWF0OiBcIjB4YWRkcmVzczo6bW9kdWxlX25hbWVcIiBvciBcIm5hbWVkX2FkZHJlc3M6Om1vZHVsZV9uYW1lXCJgXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBmdW5jdGlvbiBuYW1lIGZvcm1hdFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZnVuY3Rpb25OYW1lIC0gRnVuY3Rpb24gbmFtZSB0byB2YWxpZGF0ZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgZnVuY3Rpb24gbmFtZSBmb3JtYXQgaXMgaW52YWxpZFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZ1bmN0aW9uTmFtZShmdW5jdGlvbk5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghZnVuY3Rpb25OYW1lIHx8IHR5cGVvZiBmdW5jdGlvbk5hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Z1bmN0aW9uIG5hbWUgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuXG4gICAgLy8gQXB0b3MgZnVuY3Rpb24gbmFtZSBwYXR0ZXJuOiB2YWxpZCBpZGVudGlmaWVyIChsZXR0ZXJzLCBudW1iZXJzLCB1bmRlcnNjb3Jlcywgc3RhcnRpbmcgd2l0aCBsZXR0ZXIvdW5kZXJzY29yZSlcbiAgICBjb25zdCBmdW5jdGlvbk5hbWVQYXR0ZXJuID0gL15bYS16QS1aX11bYS16QS1aMC05X10qJC87XG4gICAgaWYgKCFmdW5jdGlvbk5hbWVQYXR0ZXJuLnRlc3QoZnVuY3Rpb25OYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW52YWxpZCBmdW5jdGlvbiBuYW1lIGZvcm1hdDogXCIke2Z1bmN0aW9uTmFtZX1cIi4gRnVuY3Rpb24gbmFtZXMgbXVzdCBiZSB2YWxpZCBpZGVudGlmaWVycyAobGV0dGVycywgbnVtYmVycywgdW5kZXJzY29yZXMsIHN0YXJ0aW5nIHdpdGggbGV0dGVyIG9yIHVuZGVyc2NvcmUpYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3ZlcnJpZGUgdGhlIGRlcHJlY2F0ZWQgcmVjaXBpZW50IGdldHRlciB0byBoYW5kbGUgY3VzdG9tIHRyYW5zYWN0aW9ucyBncmFjZWZ1bGx5XG4gICAqIEN1c3RvbSB0cmFuc2FjdGlvbnMgbWF5IG5vdCBoYXZlIHRyYWRpdGlvbmFsIHJlY2lwaWVudHNcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgLSB1c2UgYHJlY2lwaWVudHMoKWBcbiAgICovXG4gIGdldCByZWNpcGllbnQoKTogYW55IHtcbiAgICAvLyBGb3IgY3VzdG9tIHRyYW5zYWN0aW9ucywgcmV0dXJuIGEgcGxhY2Vob2xkZXIgcmVjaXBpZW50IGlmIG5vIHJlY2lwaWVudHMgZXhpc3RcbiAgICBpZiAodGhpcy5fcmVjaXBpZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFkZHJlc3M6ICcnLCAvLyBFbXB0eSBhZGRyZXNzIGZvciBjdXN0b20gdHJhbnNhY3Rpb25zXG4gICAgICAgIGFtb3VudDogJzAnLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3JlY2lwaWVudHNbMF07XG4gIH1cblxuICAvKipcbiAgICogR2V0IHZhbGlkYXRlZCBmdWxsIGZ1bmN0aW9uIG5hbWUgd2l0aCBydW50aW1lIGZvcm1hdCBjaGVja2luZ1xuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgdmFsaWRhdGVkIGZ1bGwgZnVuY3Rpb24gbmFtZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgZnVuY3Rpb24gbmFtZSBmb3JtYXQgaXMgaW52YWxpZFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRWYWxpZGF0ZWRGdWxsRnVuY3Rpb25OYW1lKCk6IGAke3N0cmluZ306OiR7c3RyaW5nfTo6JHtzdHJpbmd9YCB7XG4gICAgaWYgKCF0aGlzLl9tb2R1bGVOYW1lIHx8ICF0aGlzLl9mdW5jdGlvbk5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTW9kdWxlIG5hbWUgYW5kIGZ1bmN0aW9uIG5hbWUgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZnVsbE5hbWUgPSBgJHt0aGlzLl9tb2R1bGVOYW1lfTo6JHt0aGlzLl9mdW5jdGlvbk5hbWV9YDtcblxuICAgIC8vIFJ1bnRpbWUgdmFsaWRhdGlvbiBvZiB0aGUgZXhwZWN0ZWQgZm9ybWF0XG4gICAgLy8gU3VwcG9ydHMgYm90aCBoZXggYWRkcmVzc2VzIChTSE9SVC9MT05HKSBhbmQgbmFtZWQgYWRkcmVzc2VzXG4gICAgY29uc3QgZnVsbEZ1bmN0aW9uUGF0dGVybiA9XG4gICAgICAvXigweFthLWZBLUYwLTldezEsNjR9fFthLXpBLVpfXVthLXpBLVowLTlfXSopOjpbYS16QS1aX11bYS16QS1aMC05X10qOjpbYS16QS1aX11bYS16QS1aMC05X10qJC87XG4gICAgaWYgKCFmdWxsRnVuY3Rpb25QYXR0ZXJuLnRlc3QoZnVsbE5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZnVsbCBmdW5jdGlvbiBuYW1lIGZvcm1hdDogXCIke2Z1bGxOYW1lfVwiLiBFeHBlY3RlZCBmb3JtYXQ6IFwiYWRkcmVzczo6bW9kdWxlOjpmdW5jdGlvblwiYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZ1bGxOYW1lIGFzIGAke3N0cmluZ306OiR7c3RyaW5nfTo6JHtzdHJpbmd9YDtcbiAgfVxufVxuIl19
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL2N1c3RvbVRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUE0QztBQUU1QyxtREFBdUQ7QUFDdkQsK0NBTzRCO0FBRTVCLG9EQUErRTtBQUUvRTs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEseUJBQVc7SUFPaEQsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFMWixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5Qix1QkFBa0IsR0FBeUUsRUFBRSxDQUFDO1FBS3BHLElBQUksQ0FBQyxLQUFLLEdBQUcsMEJBQWUsQ0FBQyxRQUFRLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCwwQkFBMEIsQ0FBQyxNQUErQjtRQUN4RCxJQUFBLCtCQUFrQixFQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFBLGlDQUFvQixFQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxHQUFxQjtRQUN2QyxJQUFJ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QUUsQ0FBQztZQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RSxDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFOUQsNENBQTRDO1FBQzVDLCtEQUErRDtRQUMvRCxNQUFNLG1CQUFtQixHQUN2QixnR0FBZ0csQ0FBQztRQUNuRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsUUFBUSxpREFBaUQsQ0FBQyxDQUFDO1FBQ3BILENBQUM7UUFFRCxPQUFPLFFBQTZDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssV0FBVyxDQUFDLEdBQXFCO1FBQ3ZDLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLHFGQUFxRixDQUFDLENBQUM7UUFDekcsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMseUZBQXlGLENBQUMsQ0FBQztRQUM3RyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBOUtELDhDQThLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQge1xuICBFbnRyeUZ1bmN0aW9uQUJJLFxuICBFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcyxcbiAgSW5wdXRHZW5lcmF0ZVRyYW5zYWN0aW9uUGF5bG9hZERhdGEsXG4gIFNpbXBsZUVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzLFxuICBUcmFuc2FjdGlvblBheWxvYWQsXG4gIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24sXG59IGZyb20gJ0BhcHRvcy1sYWJzL3RzLXNkayc7XG5pbXBvcnQgeyBDdXN0b21UcmFuc2FjdGlvblBhcmFtcyB9IGZyb20gJy4uL2lmYWNlJztcbmltcG9ydCB7IHZhbGlkYXRlTW9kdWxlTmFtZSwgdmFsaWRhdGVGdW5jdGlvbk5hbWUgfSBmcm9tICcuLi91dGlscy92YWxpZGF0aW9uJztcblxuLyoqXG4gKiBUcmFuc2FjdGlvbiBjbGFzcyBmb3IgY3VzdG9tIEFwdG9zIHRyYW5zYWN0aW9ucyB3aXRoIGVudHJ5IGZ1bmN0aW9uIHBheWxvYWRzLlxuICovXG5leHBvcnQgY2xhc3MgQ3VzdG9tVHJhbnNhY3Rpb24gZXh0ZW5kcyBUcmFuc2FjdGlvbiB7XG4gIHByaXZhdGUgX21vZHVsZU5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfZnVuY3Rpb25OYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgX3R5cGVBcmd1bWVudHM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgX2Z1bmN0aW9uQXJndW1lbnRzOiBBcnJheTxFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcyB8IFNpbXBsZUVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzPiA9IFtdO1xuICBwcml2YXRlIF9lbnRyeUZ1bmN0aW9uQWJpOiBFbnRyeUZ1bmN0aW9uQUJJO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+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.615",
3
+ "version": "1.0.1-beta.617",
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.1175",
45
- "@bitgo-beta/statics": "15.1.1-beta.1178",
44
+ "@bitgo-beta/sdk-core": "8.2.1-beta.1177",
45
+ "@bitgo-beta/statics": "15.1.1-beta.1180",
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.1174",
51
- "@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.1167",
50
+ "@bitgo-beta/sdk-api": "1.10.1-beta.1176",
51
+ "@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.1169",
52
52
  "@bitgo-beta/sdk-test": "^9.0.9"
53
53
  },
54
- "gitHead": "9e79048d9bdfd0be71f9ec679c396c3f95aff18d"
54
+ "gitHead": "cf45895e19572d65efb7cb2257a4d53c9bee06e7"
55
55
  }