@bitgo-beta/sdk-coin-apt 1.0.1-beta.600 → 1.0.1-beta.602

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/src/apt.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AuditDecryptedKeyParams, BaseCoin, BaseTransaction, BitGoBase, KeyPair, MPCAlgorithm, MultisigType, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, VerifyAddressOptions, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
1
+ import { AuditDecryptedKeyParams, BaseCoin, BaseTransaction, BitGoBase, KeyPair, MPCAlgorithm, MultisigType, ParsedTransaction, ParseTransactionOptions, PopulatedIntent, PrebuildTransactionWithIntentOptions, SignedTransaction, SignTransactionOptions, VerifyAddressOptions, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
2
2
  import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
3
3
  import { TransactionBuilderFactory } from './lib';
4
4
  import { ExplainTransactionOptions } from './lib/types';
@@ -39,5 +39,6 @@ export declare class Apt extends BaseCoin {
39
39
  protected rebuildTransaction(txHex: string): Promise<BaseTransaction>;
40
40
  /** @inheritDoc */
41
41
  auditDecryptedKey({ multiSigType, prv, publicKey }: AuditDecryptedKeyParams): void;
42
+ setCoinSpecificFieldsInIntent(intent: PopulatedIntent, params: PrebuildTransactionWithIntentOptions): void;
42
43
  }
43
44
  //# sourceMappingURL=apt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apt.d.ts","sourceRoot":"","sources":["../../src/apt.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,QAAQ,EACR,eAAe,EACf,SAAS,EAET,OAAO,EACP,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAS,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAyB,yBAAyB,EAAE,MAAM,OAAO,CAAC;AAIzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAGxD,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,GAAI,SAAQ,QAAQ;IAC/B,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAU/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F;;OAEG;IACI,aAAa,IAAI,MAAM;IAIvB,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,WAAW,IAAI,MAAM;IAI5B,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC,eAAe,IAAI,YAAY;IAI/B,2BAA2B,IAAI,OAAO;IAIhC,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqCrE,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/D,gBAAgB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqBtF;;;OAGG;IACG,kBAAkB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAU3G,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAYvC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI3E,SAAS,CAAC,mBAAmB,IAAI,yBAAyB;cAI1C,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAU3E,kBAAkB;IAClB,iBAAiB,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,uBAAuB,GAAG,IAAI;CAMnF"}
1
+ {"version":3,"file":"apt.d.ts","sourceRoot":"","sources":["../../src/apt.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,QAAQ,EACR,eAAe,EACf,SAAS,EAET,OAAO,EACP,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,oCAAoC,EACpC,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAS,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAyB,yBAAyB,EAAE,MAAM,OAAO,CAAC;AAIzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAGxD,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,GAAI,SAAQ,QAAQ;IAC/B,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAU/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F;;OAEG;IACI,aAAa,IAAI,MAAM;IAIvB,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,WAAW,IAAI,MAAM;IAI5B,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC,eAAe,IAAI,YAAY;IAI/B,2BAA2B,IAAI,OAAO;IAIhC,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqCrE,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/D,gBAAgB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqBtF;;;OAGG;IACG,kBAAkB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAU3G,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAYvC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI3E,SAAS,CAAC,mBAAmB,IAAI,yBAAyB;cAI1C,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAU3E,kBAAkB;IAClB,iBAAiB,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,uBAAuB,GAAG,IAAI;IAOlF,6BAA6B,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,oCAAoC,GAAG,IAAI;CAM3G"}
package/dist/src/apt.js CHANGED
@@ -201,6 +201,12 @@ class Apt extends sdk_core_1.BaseCoin {
201
201
  }
202
202
  (0, sdk_lib_mpc_1.auditEddsaPrivateKey)(prv, publicKey ?? '');
203
203
  }
204
+ setCoinSpecificFieldsInIntent(intent, params) {
205
+ // Handle custom transaction parameters for Aptos
206
+ if (params.aptosCustomTransactionParams) {
207
+ intent.aptosCustomTransactionParams = params.aptosCustomTransactionParams;
208
+ }
209
+ }
204
210
  }
205
211
  exports.Apt = Apt;
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFnQjhCO0FBQzlCLGlEQUF5RTtBQUN6RSwrQkFBeUU7QUFDekUsd0RBQWdDO0FBQ2hDLDBDQUE0QjtBQUM1QixnRUFBcUM7QUFHckMseURBQStEO0FBTS9ELE1BQWEsR0FBSSxTQUFRLG1CQUFRO0lBRS9CLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhO1FBQ2xCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxTQUFTO1FBQ2QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsc0JBQXNCO1FBQ3BCLE9BQU8sd0JBQWEsQ0FBQyxHQUFHLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsMkJBQTJCO1FB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QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBZTtRQUM1QixPQUFPLGVBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUE4QjtRQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVTLG1CQUFtQjtRQUMzQixPQUFPLElBQUksK0JBQXlCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFUyxLQUFLLENBQUMsa0JBQWtCLENBQUMsS0FBYTtRQUM5QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQztZQUNILE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQyxPQUFPLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzNDLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsaUJBQWlCLENBQUMsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBMkI7UUFDekUsSUFBSSxZQUFZLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFBLGtDQUFvQixFQUFDLEdBQUcsRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBbkxELGtCQW1MQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEF1ZGl0RGVjcnlwdGVkS2V5UGFyYW1zLFxuICBCYXNlQ29pbixcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBCaXRHb0Jhc2UsXG4gIEludmFsaWRBZGRyZXNzRXJyb3IsXG4gIEtleVBhaXIsXG4gIE1QQ0FsZ29yaXRobSxcbiAgTXVsdGlzaWdUeXBlLFxuICBtdWx0aXNpZ1R5cGVzLFxuICBQYXJzZWRUcmFuc2FjdGlvbixcbiAgUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFNpZ25lZFRyYW5zYWN0aW9uLFxuICBTaWduVHJhbnNhY3Rpb25PcHRpb25zLFxuICBWZXJpZnlBZGRyZXNzT3B0aW9ucyxcbiAgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBLZXlQYWlyIGFzIEFwdEtleVBhaXIsIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL2xpYic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi9saWIvdXRpbHMnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4vbGliL3R5cGVzJztcbmltcG9ydCB7IEFwdFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuL2xpYi9pZmFjZSc7XG5pbXBvcnQgeyBhdWRpdEVkZHNhUHJpdmF0ZUtleSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1saWItbXBjJztcblxuZXhwb3J0IGludGVyZmFjZSBBcHRQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgdHhIZXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEFwdCBleHRlbmRzIEJhc2VDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvKTtcblxuICAgIGlmICghc3RhdGljc0NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgc3RhdGljc0NvaW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IEFwdChiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZhY3RvciBiZXR3ZWVuIHRoZSBjb2luJ3MgYmFzZSB1bml0IGFuZCBpdHMgc21hbGxlc3Qgc3ViZGl2aXNvblxuICAgKi9cbiAgcHVibGljIGdldEJhc2VGYWN0b3IoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMWU4O1xuICB9XG5cbiAgcHVibGljIGdldENoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdhcHQnO1xuICB9XG5cbiAgcHVibGljIGdldEZhbWlseSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnYXB0JztcbiAgfVxuXG4gIHB1YmxpYyBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnQXB0b3MnO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqIGluaGVyaXRlZCBkb2MgKi9cbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUge1xuICAgIHJldHVybiBtdWx0aXNpZ1R5cGVzLnRzcztcbiAgfVxuXG4gIGdldE1QQ0FsZ29yaXRobSgpOiBNUENBbGdvcml0aG0ge1xuICAgIHJldHVybiAnZWRkc2EnO1xuICB9XG5cbiAgYWxsb3dzQWNjb3VudENvbnNvbGlkYXRpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5VHJhbnNhY3Rpb24ocGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IHR4UHJlYnVpbGQ6IHR4UHJlYnVpbGQsIHR4UGFyYW1zOiB0eFBhcmFtcyB9ID0gcGFyYW1zO1xuICAgIGNvbnN0IHR4SGV4ID0gdHhQcmVidWlsZC50eEhleDtcbiAgICBpZiAoIXR4SGV4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgdHggcHJlYnVpbGQgcHJvcGVydHkgdHhIZXgnKTtcbiAgICB9XG4gICAgY29uc3QgZXhwbGFpbmVkVHggPSBhd2FpdCB0aGlzLmV4cGxhaW5UcmFuc2FjdGlvbih7IHR4SGV4IH0pO1xuICAgIGlmICghZXhwbGFpbmVkVHgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZmFpbGVkIHRvIGV4cGxhaW4gdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgaWYgKHR4UGFyYW1zLnJlY2lwaWVudHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgZmlsdGVyZWRSZWNpcGllbnRzID0gdHhQYXJhbXMucmVjaXBpZW50cz8ubWFwKChyZWNpcGllbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBhZGRyZXNzOiByZWNpcGllbnQuYWRkcmVzcyxcbiAgICAgICAgICBhbW91bnQ6IEJpZ0ludChyZWNpcGllbnQuYW1vdW50KSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZmlsdGVyZWRPdXRwdXRzID0gZXhwbGFpbmVkVHgub3V0cHV0cy5tYXAoKG91dHB1dCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGFkZHJlc3M6IG91dHB1dC5hZGRyZXNzLFxuICAgICAgICAgIGFtb3VudDogQmlnSW50KG91dHB1dC5hbW91bnQpLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgICBpZiAoIV8uaXNFcXVhbChmaWx0ZXJlZE91dHB1dHMsIGZpbHRlcmVkUmVjaXBpZW50cykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeCBvdXRwdXRzIGRvZXMgbm90IG1hdGNoIHdpdGggZXhwZWN0ZWQgdHhQYXJhbXMgcmVjaXBpZW50cycpO1xuICAgICAgfVxuICAgICAgbGV0IHRvdGFsQW1vdW50ID0gbmV3IEJpZ051bWJlcigwKTtcbiAgICAgIGZvciAoY29uc3QgcmVjaXBpZW50cyBvZiB0eFBhcmFtcy5yZWNpcGllbnRzKSB7XG4gICAgICAgIHRvdGFsQW1vdW50ID0gdG90YWxBbW91bnQucGx1cyhyZWNpcGllbnRzLmFtb3VudCk7XG4gICAgICB9XG4gICAgICBpZiAoIXRvdGFsQW1vdW50LmlzRXF1YWxUbyhleHBsYWluZWRUeC5vdXRwdXRBbW91bnQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVHggdG90YWwgYW1vdW50IGRvZXMgbm90IG1hdGNoIHdpdGggZXhwZWN0ZWQgdG90YWwgYW1vdW50IGZpZWxkJyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYXN5bmMgaXNXYWxsZXRBZGRyZXNzKHBhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IGFkZHJlc3M6IG5ld0FkZHJlc3MgfSA9IHBhcmFtcztcblxuICAgIGlmICghdGhpcy5pc1ZhbGlkQWRkcmVzcyhuZXdBZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRXJyb3IoYGludmFsaWQgYWRkcmVzczogJHtuZXdBZGRyZXNzfWApO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIHBhcnNlVHJhbnNhY3Rpb24ocGFyYW1zOiBBcHRQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFyc2VkVHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbkV4cGxhbmF0aW9uID0gYXdhaXQgdGhpcy5leHBsYWluVHJhbnNhY3Rpb24oeyB0eEhleDogcGFyYW1zLnR4SGV4IH0pO1xuICAgIGlmICghdHJhbnNhY3Rpb25FeHBsYW5hdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBpbnB1dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFkZHJlc3M6IHRyYW5zYWN0aW9uRXhwbGFuYXRpb24uc2VuZGVyLFxuICAgICAgICAgIGFtb3VudDogdHJhbnNhY3Rpb25FeHBsYW5hdGlvbi5vdXRwdXRBbW91bnQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgb3V0cHV0czogW1xuICAgICAgICB7XG4gICAgICAgICAgYWRkcmVzczogdHJhbnNhY3Rpb25FeHBsYW5hdGlvbi5vdXRwdXRzWzBdLmFkZHJlc3MsXG4gICAgICAgICAgYW1vdW50OiB0cmFuc2FjdGlvbkV4cGxhbmF0aW9uLm91dHB1dHNbMF0uYW1vdW50LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cGxhaW4gYSBBcHQgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKi9cbiAgYXN5bmMgZXhwbGFpblRyYW5zYWN0aW9uKHBhcmFtczogRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8QXB0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgIGxldCByZWJ1aWx0VHJhbnNhY3Rpb246IEJhc2VUcmFuc2FjdGlvbjtcbiAgICB0cnkge1xuICAgICAgcmVidWlsdFRyYW5zYWN0aW9uID0gYXdhaXQgdGhpcy5yZWJ1aWxkVHJhbnNhY3Rpb24ocGFyYW1zLnR4SGV4KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiByZWJ1aWx0VHJhbnNhY3Rpb24uZXhwbGFpblRyYW5zYWN0aW9uKCk7XG4gIH1cblxuICBnZW5lcmF0ZUtleVBhaXIoc2VlZD86IEJ1ZmZlcik6IEtleVBhaXIge1xuICAgIGNvbnN0IGtleVBhaXIgPSBzZWVkID8gbmV3IEFwdEtleVBhaXIoeyBzZWVkIH0pIDogbmV3IEFwdEtleVBhaXIoKTtcbiAgICBjb25zdCBrZXlzID0ga2V5UGFpci5nZXRLZXlzKCk7XG4gICAgaWYgKCFrZXlzLnBydikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHBydiBpbiBrZXkgZ2VuZXJhdGlvbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1Yjoga2V5cy5wdWIsXG4gICAgICBwcnY6IGtleXMucHJ2LFxuICAgIH07XG4gIH1cblxuICBpc1ZhbGlkUHViKHB1Yjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHV0aWxzLmlzVmFsaWRQdWJsaWNLZXkocHViKTtcbiAgfVxuXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIHNpZ25UcmFuc2FjdGlvbihwYXJhbXM6IFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFR4QnVpbGRlckZhY3RvcnkoKTogVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCh0aGlzLmdldENoYWluKCkpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyByZWJ1aWxkVHJhbnNhY3Rpb24odHhIZXg6IHN0cmluZyk6IFByb21pc2U8QmFzZVRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgdHhCdWlsZGVyRmFjdG9yeSA9IHRoaXMuZ2V0VHhCdWlsZGVyRmFjdG9yeSgpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSB0eEJ1aWxkZXJGYWN0b3J5LmZyb20odHhIZXgpO1xuICAgICAgcmV0dXJuIHR4QnVpbGRlci5nZXRSZWJ1aWx0VHJhbnNhY3Rpb24oKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHJlYnVpbGQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYXVkaXREZWNyeXB0ZWRLZXkoeyBtdWx0aVNpZ1R5cGUsIHBydiwgcHVibGljS2V5IH06IEF1ZGl0RGVjcnlwdGVkS2V5UGFyYW1zKTogdm9pZCB7XG4gICAgaWYgKG11bHRpU2lnVHlwZSAhPT0gJ3RzcycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgbXVsdGlTaWdUeXBlJyk7XG4gICAgfVxuICAgIGF1ZGl0RWRkc2FQcml2YXRlS2V5KHBydiwgcHVibGljS2V5ID8/ICcnKTtcbiAgfVxufVxuIl19
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFrQjhCO0FBQzlCLGlEQUF5RTtBQUN6RSwrQkFBeUU7QUFDekUsd0RBQWdDO0FBQ2hDLDBDQUE0QjtBQUM1QixnRUFBcUM7QUFHckMseURBQStEO0FBTS9ELE1BQWEsR0FBSSxTQUFRLG1CQUFRO0lBRS9CLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhO1FBQ2xCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxTQUFTO1FBQ2QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsc0JBQXNCO1FBQ3BCLE9BQU8sd0JBQWEsQ0FBQyxHQUFHLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsMkJBQTJCO1FB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QUE0QixHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQztRQUM1RSxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBMUxELGtCQTBMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEF1ZGl0RGVjcnlwdGVkS2V5UGFyYW1zLFxuICBCYXNlQ29pbixcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBCaXRHb0Jhc2UsXG4gIEludmFsaWRBZGRyZXNzRXJyb3IsXG4gIEtleVBhaXIsXG4gIE1QQ0FsZ29yaXRobSxcbiAgTXVsdGlzaWdUeXBlLFxuICBtdWx0aXNpZ1R5cGVzLFxuICBQYXJzZWRUcmFuc2FjdGlvbixcbiAgUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFBvcHVsYXRlZEludGVudCxcbiAgUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zLFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgVmVyaWZ5QWRkcmVzc09wdGlvbnMsXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luLCBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgS2V5UGFpciBhcyBBcHRLZXlQYWlyLCBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi9saWInO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vbGliL3V0aWxzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnMgfSBmcm9tICcuL2xpYi90eXBlcyc7XG5pbXBvcnQgeyBBcHRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIH0gZnJvbSAnLi9saWIvaWZhY2UnO1xuaW1wb3J0IHsgYXVkaXRFZGRzYVByaXZhdGVLZXkgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstbGliLW1wYyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXB0UGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMgZXh0ZW5kcyBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4SGV4OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBBcHQgZXh0ZW5kcyBCYXNlQ29pbiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfc3RhdGljc0NvaW46IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj47XG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbyk7XG5cbiAgICBpZiAoIXN0YXRpY3NDb2luKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgY29uc3RydWN0b3IgcGFyYW1ldGVyIHN0YXRpY3NDb2luJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGljc0NvaW4gPSBzdGF0aWNzQ29pbjtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBBcHQoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGYWN0b3IgYmV0d2VlbiB0aGUgY29pbidzIGJhc2UgdW5pdCBhbmQgaXRzIHNtYWxsZXN0IHN1YmRpdmlzb25cbiAgICovXG4gIHB1YmxpYyBnZXRCYXNlRmFjdG9yKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDFlODtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiAnYXB0JztcbiAgfVxuXG4gIHB1YmxpYyBnZXRGYW1pbHkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2FwdCc7XG4gIH1cblxuICBwdWJsaWMgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0FwdG9zJztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBzdXBwb3J0c1RzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBpbmhlcml0ZWQgZG9jICovXG4gIGdldERlZmF1bHRNdWx0aXNpZ1R5cGUoKTogTXVsdGlzaWdUeXBlIHtcbiAgICByZXR1cm4gbXVsdGlzaWdUeXBlcy50c3M7XG4gIH1cblxuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtIHtcbiAgICByZXR1cm4gJ2VkZHNhJztcbiAgfVxuXG4gIGFsbG93c0FjY291bnRDb25zb2xpZGF0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeVRyYW5zYWN0aW9uKHBhcmFtczogVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyB0eFByZWJ1aWxkOiB0eFByZWJ1aWxkLCB0eFBhcmFtczogdHhQYXJhbXMgfSA9IHBhcmFtcztcbiAgICBjb25zdCB0eEhleCA9IHR4UHJlYnVpbGQudHhIZXg7XG4gICAgaWYgKCF0eEhleCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHR4IHByZWJ1aWxkIHByb3BlcnR5IHR4SGV4Jyk7XG4gICAgfVxuICAgIGNvbnN0IGV4cGxhaW5lZFR4ID0gYXdhaXQgdGhpcy5leHBsYWluVHJhbnNhY3Rpb24oeyB0eEhleCB9KTtcbiAgICBpZiAoIWV4cGxhaW5lZFR4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZhaWxlZCB0byBleHBsYWluIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGlmICh0eFBhcmFtcy5yZWNpcGllbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGZpbHRlcmVkUmVjaXBpZW50cyA9IHR4UGFyYW1zLnJlY2lwaWVudHM/Lm1hcCgocmVjaXBpZW50KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYWRkcmVzczogcmVjaXBpZW50LmFkZHJlc3MsXG4gICAgICAgICAgYW1vdW50OiBCaWdJbnQocmVjaXBpZW50LmFtb3VudCksXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGZpbHRlcmVkT3V0cHV0cyA9IGV4cGxhaW5lZFR4Lm91dHB1dHMubWFwKChvdXRwdXQpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBhZGRyZXNzOiBvdXRwdXQuYWRkcmVzcyxcbiAgICAgICAgICBhbW91bnQ6IEJpZ0ludChvdXRwdXQuYW1vdW50KSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgICAgaWYgKCFfLmlzRXF1YWwoZmlsdGVyZWRPdXRwdXRzLCBmaWx0ZXJlZFJlY2lwaWVudHMpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVHggb3V0cHV0cyBkb2VzIG5vdCBtYXRjaCB3aXRoIGV4cGVjdGVkIHR4UGFyYW1zIHJlY2lwaWVudHMnKTtcbiAgICAgIH1cbiAgICAgIGxldCB0b3RhbEFtb3VudCA9IG5ldyBCaWdOdW1iZXIoMCk7XG4gICAgICBmb3IgKGNvbnN0IHJlY2lwaWVudHMgb2YgdHhQYXJhbXMucmVjaXBpZW50cykge1xuICAgICAgICB0b3RhbEFtb3VudCA9IHRvdGFsQW1vdW50LnBsdXMocmVjaXBpZW50cy5hbW91bnQpO1xuICAgICAgfVxuICAgICAgaWYgKCF0b3RhbEFtb3VudC5pc0VxdWFsVG8oZXhwbGFpbmVkVHgub3V0cHV0QW1vdW50KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1R4IHRvdGFsIGFtb3VudCBkb2VzIG5vdCBtYXRjaCB3aXRoIGV4cGVjdGVkIHRvdGFsIGFtb3VudCBmaWVsZCcpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIGlzV2FsbGV0QWRkcmVzcyhwYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyBhZGRyZXNzOiBuZXdBZGRyZXNzIH0gPSBwYXJhbXM7XG5cbiAgICBpZiAoIXRoaXMuaXNWYWxpZEFkZHJlc3MobmV3QWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKGBpbnZhbGlkIGFkZHJlc3M6ICR7bmV3QWRkcmVzc31gKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBhc3luYyBwYXJzZVRyYW5zYWN0aW9uKHBhcmFtczogQXB0UGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb25FeHBsYW5hdGlvbiA9IGF3YWl0IHRoaXMuZXhwbGFpblRyYW5zYWN0aW9uKHsgdHhIZXg6IHBhcmFtcy50eEhleCB9KTtcbiAgICBpZiAoIXRyYW5zYWN0aW9uRXhwbGFuYXRpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgaW5wdXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhZGRyZXNzOiB0cmFuc2FjdGlvbkV4cGxhbmF0aW9uLnNlbmRlcixcbiAgICAgICAgICBhbW91bnQ6IHRyYW5zYWN0aW9uRXhwbGFuYXRpb24ub3V0cHV0QW1vdW50LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIG91dHB1dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFkZHJlc3M6IHRyYW5zYWN0aW9uRXhwbGFuYXRpb24ub3V0cHV0c1swXS5hZGRyZXNzLFxuICAgICAgICAgIGFtb3VudDogdHJhbnNhY3Rpb25FeHBsYW5hdGlvbi5vdXRwdXRzWzBdLmFtb3VudCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBsYWluIGEgQXB0IHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICovXG4gIGFzeW5jIGV4cGxhaW5UcmFuc2FjdGlvbihwYXJhbXM6IEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPEFwdFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfCB1bmRlZmluZWQ+IHtcbiAgICBsZXQgcmVidWlsdFRyYW5zYWN0aW9uOiBCYXNlVHJhbnNhY3Rpb247XG4gICAgdHJ5IHtcbiAgICAgIHJlYnVpbHRUcmFuc2FjdGlvbiA9IGF3YWl0IHRoaXMucmVidWlsZFRyYW5zYWN0aW9uKHBhcmFtcy50eEhleCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gcmVidWlsdFRyYW5zYWN0aW9uLmV4cGxhaW5UcmFuc2FjdGlvbigpO1xuICB9XG5cbiAgZ2VuZXJhdGVLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyIHtcbiAgICBjb25zdCBrZXlQYWlyID0gc2VlZCA/IG5ldyBBcHRLZXlQYWlyKHsgc2VlZCB9KSA6IG5ldyBBcHRLZXlQYWlyKCk7XG4gICAgY29uc3Qga2V5cyA9IGtleVBhaXIuZ2V0S2V5cygpO1xuICAgIGlmICgha2V5cy5wcnYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBwcnYgaW4ga2V5IGdlbmVyYXRpb24uJyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBwdWI6IGtleXMucHViLFxuICAgICAgcHJ2OiBrZXlzLnBydixcbiAgICB9O1xuICB9XG5cbiAgaXNWYWxpZFB1YihwdWI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1dGlscy5pc1ZhbGlkUHVibGljS2V5KHB1Yik7XG4gIH1cblxuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcyk7XG4gIH1cblxuICBzaWduVHJhbnNhY3Rpb24ocGFyYW1zOiBTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUeEJ1aWxkZXJGYWN0b3J5KCk6IFRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2lucy5nZXQodGhpcy5nZXRDaGFpbigpKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcmVidWlsZFRyYW5zYWN0aW9uKHR4SGV4OiBzdHJpbmcpOiBQcm9taXNlPEJhc2VUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHR4QnVpbGRlckZhY3RvcnkgPSB0aGlzLmdldFR4QnVpbGRlckZhY3RvcnkoKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gdHhCdWlsZGVyRmFjdG9yeS5mcm9tKHR4SGV4KTtcbiAgICAgIHJldHVybiB0eEJ1aWxkZXIuZ2V0UmVidWlsdFRyYW5zYWN0aW9uKCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byByZWJ1aWxkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGF1ZGl0RGVjcnlwdGVkS2V5KHsgbXVsdGlTaWdUeXBlLCBwcnYsIHB1YmxpY0tleSB9OiBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyk6IHZvaWQge1xuICAgIGlmIChtdWx0aVNpZ1R5cGUgIT09ICd0c3MnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIG11bHRpU2lnVHlwZScpO1xuICAgIH1cbiAgICBhdWRpdEVkZHNhUHJpdmF0ZUtleShwcnYsIHB1YmxpY0tleSA/PyAnJyk7XG4gIH1cblxuICBzZXRDb2luU3BlY2lmaWNGaWVsZHNJbkludGVudChpbnRlbnQ6IFBvcHVsYXRlZEludGVudCwgcGFyYW1zOiBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMpOiB2b2lkIHtcbiAgICAvLyBIYW5kbGUgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnMgZm9yIEFwdG9zXG4gICAgaWYgKHBhcmFtcy5hcHRvc0N1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKSB7XG4gICAgICBpbnRlbnQuYXB0b3NDdXN0b21UcmFuc2FjdGlvblBhcmFtcyA9IHBhcmFtcy5hcHRvc0N1c3RvbVRyYW5zYWN0aW9uUGFyYW1zO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,4 +1,5 @@
1
1
  import { TransactionExplanation as BaseTransactionExplanation, TransactionRecipient, TransactionType as BitGoTransactionType } from '@bitgo-beta/sdk-core';
2
+ import { EntryFunctionABI, EntryFunctionArgumentTypes, SimpleEntryFunctionArgumentTypes } from '@aptos-labs/ts-sdk';
2
3
  export interface AptTransactionExplanation extends BaseTransactionExplanation {
3
4
  sender?: string;
4
5
  type?: BitGoTransactionType;
@@ -27,4 +28,85 @@ export interface RecipientsValidationResult {
27
28
  };
28
29
  isValid: boolean;
29
30
  }
31
+ /**
32
+ * Parameters for custom Aptos entry function transactions.
33
+ *
34
+ * Enables calling any Aptos entry function while maintaining compatibility with existing BitGo SDK patterns.
35
+ * Entry functions are the standard way to interact with Aptos smart contracts and system functions.
36
+ *
37
+ * @example Basic APT coin transfer (equivalent to standard transfer):
38
+ * ```typescript
39
+ * {
40
+ * moduleName: "0x1::aptos_account",
41
+ * functionName: "transfer_coins",
42
+ * typeArguments: ["0x1::aptos_coin::AptosCoin"],
43
+ * functionArguments: ["0x123...", 1000000] // [recipient, amount]
44
+ * }
45
+ * ```
46
+ *
47
+ * @example Custom smart contract call:
48
+ * ```typescript
49
+ * {
50
+ * moduleName: "0x867ed1f6bf916171b1de3ee92849b8978b7d1b9e0a8cc982a3d19d535dfd9c0c::aptos_names_v1",
51
+ * functionName: "register_domain",
52
+ * typeArguments: [],
53
+ * functionArguments: ["mydomain", 1] // [domain_name, years]
54
+ * }
55
+ * ```
56
+ *
57
+ * @remarks
58
+ * - The `abi` field is optional but provides type validation when present
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
62
+ */
63
+ export interface CustomTransactionParams {
64
+ /**
65
+ * Fully qualified module name in format "address::module_name"
66
+ *
67
+ * @example "0x1::aptos_account" (system module)
68
+ * @example "0x867ed1f6bf916171b1de3ee92849b8978b7d1b9e0a8cc982a3d19d535dfd9c0c::aptos_names_v1" (custom contract)
69
+ */
70
+ moduleName: string;
71
+ /**
72
+ * Entry function name to call within the specified module
73
+ *
74
+ * @example "transfer_coins", "register_domain", "create_account"
75
+ */
76
+ functionName: string;
77
+ /**
78
+ * Type arguments for generic functions (optional)
79
+ *
80
+ * Used for functions that accept generic types like Coin<T>.
81
+ *
82
+ * @example ["0x1::aptos_coin::AptosCoin"] for coin transfers
83
+ * @example [] for functions without generic parameters
84
+ */
85
+ typeArguments?: string[];
86
+ /**
87
+ * Function arguments in the order expected by the entry function (optional)
88
+ *
89
+ * Arguments are automatically serialized based on their JavaScript types.
90
+ * Use appropriate types: strings for addresses, numbers/BigInts for amounts.
91
+ *
92
+ * @example [recipient_address, amount] for transfers
93
+ * @example [domain_name, duration] for domain registration
94
+ */
95
+ functionArguments?: Array<EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes>;
96
+ /**
97
+ * Entry function ABI for type validation and safety (optional)
98
+ *
99
+ * When provided:
100
+ * - Validates argument count matches expected parameters
101
+ * - Performs type checking during transaction building
102
+ * - Improves error messages for invalid calls
103
+ *
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
109
+ */
110
+ abi?: EntryFunctionABI;
111
+ }
30
112
  //# 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;AAE9B,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"}
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,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlIGFzIEJpdEdvVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXB0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgc2VuZGVyPzogc3RyaW5nO1xuICB0eXBlPzogQml0R29UcmFuc2FjdGlvblR5cGU7XG59XG5cbi8qKlxuICogVGhlIHRyYW5zYWN0aW9uIGRhdGEgcmV0dXJuZWQgZnJvbSB0aGUgdG9Kc29uKCkgZnVuY3Rpb24gb2YgYSB0cmFuc2FjdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR4RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIHNlbmRlcjogc3RyaW5nO1xuICAvKiogQGRlcHJlY2F0ZWQgLSB1c2UgYHJlY2lwaWVudHNgLiAqL1xuICByZWNpcGllbnQ6IFRyYW5zYWN0aW9uUmVjaXBpZW50O1xuICByZWNpcGllbnRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICBzZXF1ZW5jZU51bWJlcjogbnVtYmVyO1xuICBtYXhHYXNBbW91bnQ6IG51bWJlcjtcbiAgZ2FzVW5pdFByaWNlOiBudW1iZXI7XG4gIGdhc1VzZWQ6IG51bWJlcjtcbiAgZXhwaXJhdGlvblRpbWU6IG51bWJlcjtcbiAgZmVlUGF5ZXI6IHN0cmluZztcbiAgYXNzZXRJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2lwaWVudHNWYWxpZGF0aW9uUmVzdWx0IHtcbiAgcmVjaXBpZW50czoge1xuICAgIGRlc2VyaWFsaXplZEFkZHJlc3Nlczogc3RyaW5nW107XG4gICAgZGVzZXJpYWxpemVkQW1vdW50czogVWludDhBcnJheVtdO1xuICB9O1xuICBpc1ZhbGlkOiBib29sZWFuO1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlIGFzIEJpdEdvVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBFbnRyeUZ1bmN0aW9uQUJJLCBFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcywgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXMgfSBmcm9tICdAYXB0b3MtbGFicy90cy1zZGsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwdFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlbmRlcj86IHN0cmluZztcbiAgdHlwZT86IEJpdEdvVHJhbnNhY3Rpb25UeXBlO1xufVxuXG4vKipcbiAqIFRoZSB0cmFuc2FjdGlvbiBkYXRhIHJldHVybmVkIGZyb20gdGhlIHRvSnNvbigpIGZ1bmN0aW9uIG9mIGEgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZDogc3RyaW5nO1xuICBzZW5kZXI6IHN0cmluZztcbiAgLyoqIEBkZXByZWNhdGVkIC0gdXNlIGByZWNpcGllbnRzYC4gKi9cbiAgcmVjaXBpZW50OiBUcmFuc2FjdGlvblJlY2lwaWVudDtcbiAgcmVjaXBpZW50czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgc2VxdWVuY2VOdW1iZXI6IG51bWJlcjtcbiAgbWF4R2FzQW1vdW50OiBudW1iZXI7XG4gIGdhc1VuaXRQcmljZTogbnVtYmVyO1xuICBnYXNVc2VkOiBudW1iZXI7XG4gIGV4cGlyYXRpb25UaW1lOiBudW1iZXI7XG4gIGZlZVBheWVyOiBzdHJpbmc7XG4gIGFzc2V0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNpcGllbnRzVmFsaWRhdGlvblJlc3VsdCB7XG4gIHJlY2lwaWVudHM6IHtcbiAgICBkZXNlcmlhbGl6ZWRBZGRyZXNzZXM6IHN0cmluZ1tdO1xuICAgIGRlc2VyaWFsaXplZEFtb3VudHM6IFVpbnQ4QXJyYXlbXTtcbiAgfTtcbiAgaXNWYWxpZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciBjdXN0b20gQXB0b3MgZW50cnkgZnVuY3Rpb24gdHJhbnNhY3Rpb25zLlxuICpcbiAqIEVuYWJsZXMgY2FsbGluZyBhbnkgQXB0b3MgZW50cnkgZnVuY3Rpb24gd2hpbGUgbWFpbnRhaW5pbmcgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIEJpdEdvIFNESyBwYXR0ZXJucy5cbiAqIEVudHJ5IGZ1bmN0aW9ucyBhcmUgdGhlIHN0YW5kYXJkIHdheSB0byBpbnRlcmFjdCB3aXRoIEFwdG9zIHNtYXJ0IGNvbnRyYWN0cyBhbmQgc3lzdGVtIGZ1bmN0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyBBUFQgY29pbiB0cmFuc2ZlciAoZXF1aXZhbGVudCB0byBzdGFuZGFyZCB0cmFuc2Zlcik6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB7XG4gKiAgIG1vZHVsZU5hbWU6IFwiMHgxOjphcHRvc19hY2NvdW50XCIsXG4gKiAgIGZ1bmN0aW9uTmFtZTogXCJ0cmFuc2Zlcl9jb2luc1wiLFxuICogICB0eXBlQXJndW1lbnRzOiBbXCIweDE6OmFwdG9zX2NvaW46OkFwdG9zQ29pblwiXSxcbiAqICAgZnVuY3Rpb25Bcmd1bWVudHM6IFtcIjB4MTIzLi4uXCIsIDEwMDAwMDBdIC8vIFtyZWNpcGllbnQsIGFtb3VudF1cbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIEN1c3RvbSBzbWFydCBjb250cmFjdCBjYWxsOlxuICogYGBgdHlwZXNjcmlwdFxuICoge1xuICogICBtb2R1bGVOYW1lOiBcIjB4ODY3ZWQxZjZiZjkxNjE3MWIxZGUzZWU5Mjg0OWI4OTc4YjdkMWI5ZTBhOGNjOTgyYTNkMTlkNTM1ZGZkOWMwYzo6YXB0b3NfbmFtZXNfdjFcIixcbiAqICAgZnVuY3Rpb25OYW1lOiBcInJlZ2lzdGVyX2RvbWFpblwiLFxuICogICB0eXBlQXJndW1lbnRzOiBbXSxcbiAqICAgZnVuY3Rpb25Bcmd1bWVudHM6IFtcIm15ZG9tYWluXCIsIDFdIC8vIFtkb21haW5fbmFtZSwgeWVhcnNdXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcmVtYXJrc1xuICogLSBUaGUgYGFiaWAgZmllbGQgaXMgb3B0aW9uYWwgYnV0IHByb3ZpZGVzIHR5cGUgdmFsaWRhdGlvbiB3aGVuIHByZXNlbnRcbiAqIC0gSW52YWxpZCBBQkkgd2lsbCBjYXVzZSB0cmFuc2FjdGlvbiBidWlsZGluZyB0byBmYWlsXG4gKiAtIFdpdGhvdXQgQUJJLCB0aGUgQXB0b3MgU0RLIHBlcmZvcm1zIGJhc2ljIHZhbGlkYXRpb25cbiAqIC0gQWxsIEFwdG9zIHRyYW5zYWN0aW9ucyB1c2UgdGhlIHNhbWUgcGF5bG9hZCBzdHJ1Y3R1cmUgcmVnYXJkbGVzcyBvZiBjb21wbGV4aXR5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tVHJhbnNhY3Rpb25QYXJhbXMge1xuICAvKipcbiAgICogRnVsbHkgcXVhbGlmaWVkIG1vZHVsZSBuYW1lIGluIGZvcm1hdCBcImFkZHJlc3M6Om1vZHVsZV9uYW1lXCJcbiAgICpcbiAgICogQGV4YW1wbGUgXCIweDE6OmFwdG9zX2FjY291bnRcIiAoc3lzdGVtIG1vZHVsZSlcbiAgICogQGV4YW1wbGUgXCIweDg2N2VkMWY2YmY5MTYxNzFiMWRlM2VlOTI4NDliODk3OGI3ZDFiOWUwYThjYzk4MmEzZDE5ZDUzNWRmZDljMGM6OmFwdG9zX25hbWVzX3YxXCIgKGN1c3RvbSBjb250cmFjdClcbiAgICovXG4gIG1vZHVsZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRW50cnkgZnVuY3Rpb24gbmFtZSB0byBjYWxsIHdpdGhpbiB0aGUgc3BlY2lmaWVkIG1vZHVsZVxuICAgKlxuICAgKiBAZXhhbXBsZSBcInRyYW5zZmVyX2NvaW5zXCIsIFwicmVnaXN0ZXJfZG9tYWluXCIsIFwiY3JlYXRlX2FjY291bnRcIlxuICAgKi9cbiAgZnVuY3Rpb25OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFR5cGUgYXJndW1lbnRzIGZvciBnZW5lcmljIGZ1bmN0aW9ucyAob3B0aW9uYWwpXG4gICAqXG4gICAqIFVzZWQgZm9yIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBnZW5lcmljIHR5cGVzIGxpa2UgQ29pbjxUPi5cbiAgICpcbiAgICogQGV4YW1wbGUgW1wiMHgxOjphcHRvc19jb2luOjpBcHRvc0NvaW5cIl0gZm9yIGNvaW4gdHJhbnNmZXJzXG4gICAqIEBleGFtcGxlIFtdIGZvciBmdW5jdGlvbnMgd2l0aG91dCBnZW5lcmljIHBhcmFtZXRlcnNcbiAgICovXG4gIHR5cGVBcmd1bWVudHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRnVuY3Rpb24gYXJndW1lbnRzIGluIHRoZSBvcmRlciBleHBlY3RlZCBieSB0aGUgZW50cnkgZnVuY3Rpb24gKG9wdGlvbmFsKVxuICAgKlxuICAgKiBBcmd1bWVudHMgYXJlIGF1dG9tYXRpY2FsbHkgc2VyaWFsaXplZCBiYXNlZCBvbiB0aGVpciBKYXZhU2NyaXB0IHR5cGVzLlxuICAgKiBVc2UgYXBwcm9wcmlhdGUgdHlwZXM6IHN0cmluZ3MgZm9yIGFkZHJlc3NlcywgbnVtYmVycy9CaWdJbnRzIGZvciBhbW91bnRzLlxuICAgKlxuICAgKiBAZXhhbXBsZSBbcmVjaXBpZW50X2FkZHJlc3MsIGFtb3VudF0gZm9yIHRyYW5zZmVyc1xuICAgKiBAZXhhbXBsZSBbZG9tYWluX25hbWUsIGR1cmF0aW9uXSBmb3IgZG9tYWluIHJlZ2lzdHJhdGlvblxuICAgKi9cbiAgZnVuY3Rpb25Bcmd1bWVudHM/OiBBcnJheTxFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlcyB8IFNpbXBsZUVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzPjtcblxuICAvKipcbiAgICogRW50cnkgZnVuY3Rpb24gQUJJIGZvciB0eXBlIHZhbGlkYXRpb24gYW5kIHNhZmV0eSAob3B0aW9uYWwpXG4gICAqXG4gICAqIFdoZW4gcHJvdmlkZWQ6XG4gICAqIC0gVmFsaWRhdGVzIGFyZ3VtZW50IGNvdW50IG1hdGNoZXMgZXhwZWN0ZWQgcGFyYW1ldGVyc1xuICAgKiAtIFBlcmZvcm1zIHR5cGUgY2hlY2tpbmcgZHVyaW5nIHRyYW5zYWN0aW9uIGJ1aWxkaW5nXG4gICAqIC0gSW1wcm92ZXMgZXJyb3IgbWVzc2FnZXMgZm9yIGludmFsaWQgY2FsbHNcbiAgICpcbiAgICogV2hlbiBvbWl0dGVkOlxuICAgKiAtIFRyYW5zYWN0aW9uIGJ1aWxkaW5nIHJlbGllcyBvbiBBcHRvcyBTREsgYmFzaWMgdmFsaWRhdGlvblxuICAgKiAtIEZ1bmN0aW9uIHNpZ25hdHVyZSBlcnJvcnMgZGV0ZWN0ZWQgYXQgYnVpbGQvc2ltdWxhdGlvbiB0aW1lXG4gICAqXG4gICAqIEByZW1hcmtzIFByb3ZpZGluZyBpbmNvcnJlY3QgQUJJIHdpbGwgY2F1c2UgdHJhbnNhY3Rpb24gYnVpbGRpbmcgdG8gZmFpbFxuICAgKi9cbiAgYWJpPzogRW50cnlGdW5jdGlvbkFCSTtcbn1cbiJdfQ==
@@ -5,10 +5,12 @@ export { Transaction } from './transaction/transaction';
5
5
  export { TransferTransaction } from './transaction/transferTransaction';
6
6
  export { FungibleAssetTransfer } from './transaction/fungibleAssetTransfer';
7
7
  export { DigitalAssetTransfer } from './transaction/digitalAssetTransfer';
8
+ export { CustomTransaction } from './transaction/customTransaction';
8
9
  export { TransactionBuilder } from './transactionBuilder/transactionBuilder';
9
10
  export { TransferBuilder } from './transactionBuilder/transferBuilder';
10
11
  export { FungibleAssetTransferBuilder } from './transactionBuilder/fungibleAssetTransferBuilder';
11
12
  export { DigitalAssetTransferBuilder } from './transactionBuilder/digitalAssetTransferBuilder';
13
+ export { CustomTransactionBuilder } from './transactionBuilder/customTransactionBuilder';
12
14
  export { TransactionBuilderFactory } from './transactionBuilderFactory';
13
15
  export { Interface, Utils };
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Utils = exports.Interface = exports.TransactionBuilderFactory = exports.DigitalAssetTransferBuilder = exports.FungibleAssetTransferBuilder = exports.TransferBuilder = exports.TransactionBuilder = exports.DigitalAssetTransfer = exports.FungibleAssetTransfer = exports.TransferTransaction = exports.Transaction = exports.KeyPair = void 0;
36
+ exports.Utils = exports.Interface = exports.TransactionBuilderFactory = exports.CustomTransactionBuilder = exports.DigitalAssetTransferBuilder = exports.FungibleAssetTransferBuilder = exports.TransferBuilder = exports.TransactionBuilder = exports.CustomTransaction = exports.DigitalAssetTransfer = exports.FungibleAssetTransfer = exports.TransferTransaction = exports.Transaction = exports.KeyPair = void 0;
37
37
  const Utils = __importStar(require("./utils"));
38
38
  exports.Utils = Utils;
39
39
  const Interface = __importStar(require("./iface"));
@@ -48,6 +48,8 @@ var fungibleAssetTransfer_1 = require("./transaction/fungibleAssetTransfer");
48
48
  Object.defineProperty(exports, "FungibleAssetTransfer", { enumerable: true, get: function () { return fungibleAssetTransfer_1.FungibleAssetTransfer; } });
49
49
  var digitalAssetTransfer_1 = require("./transaction/digitalAssetTransfer");
50
50
  Object.defineProperty(exports, "DigitalAssetTransfer", { enumerable: true, get: function () { return digitalAssetTransfer_1.DigitalAssetTransfer; } });
51
+ var customTransaction_1 = require("./transaction/customTransaction");
52
+ Object.defineProperty(exports, "CustomTransaction", { enumerable: true, get: function () { return customTransaction_1.CustomTransaction; } });
51
53
  var transactionBuilder_1 = require("./transactionBuilder/transactionBuilder");
52
54
  Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
53
55
  var transferBuilder_1 = require("./transactionBuilder/transferBuilder");
@@ -56,6 +58,8 @@ var fungibleAssetTransferBuilder_1 = require("./transactionBuilder/fungibleAsset
56
58
  Object.defineProperty(exports, "FungibleAssetTransferBuilder", { enumerable: true, get: function () { return fungibleAssetTransferBuilder_1.FungibleAssetTransferBuilder; } });
57
59
  var digitalAssetTransferBuilder_1 = require("./transactionBuilder/digitalAssetTransferBuilder");
58
60
  Object.defineProperty(exports, "DigitalAssetTransferBuilder", { enumerable: true, get: function () { return digitalAssetTransferBuilder_1.DigitalAssetTransferBuilder; } });
61
+ var customTransactionBuilder_1 = require("./transactionBuilder/customTransactionBuilder");
62
+ Object.defineProperty(exports, "CustomTransactionBuilder", { enumerable: true, get: function () { return customTransactionBuilder_1.CustomTransactionBuilder; } });
59
63
  var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
60
64
  Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQWFiLHNCQUFLO0FBWnpCLG1EQUFxQztBQVk1Qiw4QkFBUztBQVZsQixxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLHlEQUF3RDtBQUEvQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIseUVBQXdFO0FBQS9ELDBIQUFBLG1CQUFtQixPQUFBO0FBQzVCLDZFQUE0RTtBQUFuRSw4SEFBQSxxQkFBcUIsT0FBQTtBQUM5QiwyRUFBMEU7QUFBakUsNEhBQUEsb0JBQW9CLE9BQUE7QUFDN0IsOEVBQTZFO0FBQXBFLHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHdFQUF1RTtBQUE5RCxrSEFBQSxlQUFlLE9BQUE7QUFDeEIsa0dBQWlHO0FBQXhGLDRJQUFBLDRCQUE0QixPQUFBO0FBQ3JDLGdHQUErRjtBQUF0RiwwSUFBQSwyQkFBMkIsT0FBQTtBQUNwQyx5RUFBd0U7QUFBL0Qsc0lBQUEseUJBQXlCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAqIGFzIEludGVyZmFjZSBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNmZXJUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHJhbnNmZXJUcmFuc2FjdGlvbic7XG5leHBvcnQgeyBGdW5naWJsZUFzc2V0VHJhbnNmZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uL2Z1bmdpYmxlQXNzZXRUcmFuc2Zlcic7XG5leHBvcnQgeyBEaWdpdGFsQXNzZXRUcmFuc2ZlciB9IGZyb20gJy4vdHJhbnNhY3Rpb24vZGlnaXRhbEFzc2V0VHJhbnNmZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXIvdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBGdW5naWJsZUFzc2V0VHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXIvZnVuZ2libGVBc3NldFRyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBEaWdpdGFsQXNzZXRUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci9kaWdpdGFsQXNzZXRUcmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBJbnRlcmZhY2UsIFV0aWxzIH07XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQWViLHNCQUFLO0FBZHpCLG1EQUFxQztBQWM1Qiw4QkFBUztBQVpsQixxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLHlEQUF3RDtBQUEvQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIseUVBQXdFO0FBQS9ELDBIQUFBLG1CQUFtQixPQUFBO0FBQzVCLDZFQUE0RTtBQUFuRSw4SEFBQSxxQkFBcUIsT0FBQTtBQUM5QiwyRUFBMEU7QUFBakUsNEhBQUEsb0JBQW9CLE9BQUE7QUFDN0IscUVBQW9FO0FBQTNELHNIQUFBLGlCQUFpQixPQUFBO0FBQzFCLDhFQUE2RTtBQUFwRSx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQix3RUFBdUU7QUFBOUQsa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLGtHQUFpRztBQUF4Riw0SUFBQSw0QkFBNEIsT0FBQTtBQUNyQyxnR0FBK0Y7QUFBdEYsMElBQUEsMkJBQTJCLE9BQUE7QUFDcEMsMEZBQXlGO0FBQWhGLG9JQUFBLHdCQUF3QixPQUFBO0FBQ2pDLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICogYXMgSW50ZXJmYWNlIGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5leHBvcnQgeyBUcmFuc2ZlclRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2ZlclRyYW5zYWN0aW9uJztcbmV4cG9ydCB7IEZ1bmdpYmxlQXNzZXRUcmFuc2ZlciB9IGZyb20gJy4vdHJhbnNhY3Rpb24vZnVuZ2libGVBc3NldFRyYW5zZmVyJztcbmV4cG9ydCB7IERpZ2l0YWxBc3NldFRyYW5zZmVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbi9kaWdpdGFsQXNzZXRUcmFuc2Zlcic7XG5leHBvcnQgeyBDdXN0b21UcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vY3VzdG9tVHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXIvdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBGdW5naWJsZUFzc2V0VHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXIvZnVuZ2libGVBc3NldFRyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBEaWdpdGFsQXNzZXRUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci9kaWdpdGFsQXNzZXRUcmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgQ3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXIvY3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0IHsgSW50ZXJmYWNlLCBVdGlscyB9O1xuIl19
@@ -0,0 +1,80 @@
1
+ import { Transaction } from './transaction';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { EntryFunctionABI, InputGenerateTransactionPayloadData, TransactionPayload } from '@aptos-labs/ts-sdk';
4
+ import { CustomTransactionParams } from '../iface';
5
+ /**
6
+ * Transaction class for custom Aptos transactions with entry function payloads.
7
+ */
8
+ export declare class CustomTransaction extends Transaction {
9
+ private _moduleName;
10
+ private _functionName;
11
+ private _typeArguments;
12
+ private _functionArguments;
13
+ private _entryFunctionAbi?;
14
+ constructor(coinConfig: Readonly<CoinConfig>);
15
+ /**
16
+ * Set the custom transaction parameters
17
+ *
18
+ * @param {CustomTransactionParams} params - Custom transaction parameters
19
+ */
20
+ setCustomTransactionParams(params: CustomTransactionParams): void;
21
+ /**
22
+ * Set the entry function ABI
23
+ *
24
+ * @param {EntryFunctionABI} abi - The ABI definition for the entry function
25
+ */
26
+ setEntryFunctionAbi(abi: EntryFunctionABI): void;
27
+ /**
28
+ * Get the full function name in the format moduleName::functionName
29
+ *
30
+ * @returns {string} The full function name
31
+ */
32
+ get fullFunctionName(): string;
33
+ /**
34
+ * Parse a transaction payload to extract the custom transaction data
35
+ *
36
+ * @param {TransactionPayload} payload - The transaction payload to parse
37
+ */
38
+ protected parseTransactionPayload(payload: TransactionPayload): void;
39
+ /**
40
+ * Generate the transaction payload data for the custom transaction
41
+ *
42
+ * @returns {InputGenerateTransactionPayloadData} The transaction payload data
43
+ */
44
+ protected getTransactionPayloadData(): InputGenerateTransactionPayloadData;
45
+ /**
46
+ * Get the custom transaction parameters
47
+ *
48
+ * @returns {CustomTransactionParams} The custom transaction parameters
49
+ */
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
+ /**
66
+ * Override the deprecated recipient getter to handle custom transactions gracefully
67
+ * Custom transactions may not have traditional recipients
68
+ *
69
+ * @deprecated - use `recipients()`
70
+ */
71
+ get recipient(): any;
72
+ /**
73
+ * Get validated full function name with runtime format checking
74
+ *
75
+ * @returns {string} The validated full function name
76
+ * @throws {Error} If function name format is invalid
77
+ */
78
+ private getValidatedFullFunctionName;
79
+ }
80
+ //# sourceMappingURL=customTransaction.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomTransaction = void 0;
4
+ const transaction_1 = require("./transaction");
5
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
+ const ts_sdk_1 = require("@aptos-labs/ts-sdk");
7
+ /**
8
+ * Transaction class for custom Aptos transactions with entry function payloads.
9
+ */
10
+ class CustomTransaction extends transaction_1.Transaction {
11
+ constructor(coinConfig) {
12
+ super(coinConfig);
13
+ this._typeArguments = [];
14
+ this._functionArguments = [];
15
+ this._type = sdk_core_1.TransactionType.CustomTx;
16
+ }
17
+ /**
18
+ * Set the custom transaction parameters
19
+ *
20
+ * @param {CustomTransactionParams} params - Custom transaction parameters
21
+ */
22
+ setCustomTransactionParams(params) {
23
+ this.validateModuleName(params.moduleName);
24
+ this.validateFunctionName(params.functionName);
25
+ this._moduleName = params.moduleName;
26
+ this._functionName = params.functionName;
27
+ this._typeArguments = params.typeArguments || [];
28
+ this._functionArguments = params.functionArguments || [];
29
+ }
30
+ /**
31
+ * Set the entry function ABI
32
+ *
33
+ * @param {EntryFunctionABI} abi - The ABI definition for the entry function
34
+ */
35
+ setEntryFunctionAbi(abi) {
36
+ this._entryFunctionAbi = abi;
37
+ }
38
+ /**
39
+ * Get the full function name in the format moduleName::functionName
40
+ *
41
+ * @returns {string} The full function name
42
+ */
43
+ get fullFunctionName() {
44
+ if (!this._moduleName || !this._functionName) {
45
+ return '';
46
+ }
47
+ return `${this._moduleName}::${this._functionName}`;
48
+ }
49
+ /**
50
+ * Parse a transaction payload to extract the custom transaction data
51
+ *
52
+ * @param {TransactionPayload} payload - The transaction payload to parse
53
+ */
54
+ parseTransactionPayload(payload) {
55
+ if (!(payload instanceof ts_sdk_1.TransactionPayloadEntryFunction)) {
56
+ throw new Error('Expected entry function payload for custom transaction');
57
+ }
58
+ const entryFunction = payload.entryFunction;
59
+ // Extract function data
60
+ const moduleAddress = entryFunction.module_name.address.toString();
61
+ const moduleIdentifier = entryFunction.module_name.name.identifier;
62
+ const functionIdentifier = entryFunction.function_name.identifier;
63
+ const moduleName = `${moduleAddress}::${moduleIdentifier}`;
64
+ // Validate the extracted names using our existing validation
65
+ this.validateModuleName(moduleName);
66
+ this.validateFunctionName(functionIdentifier);
67
+ this._moduleName = moduleName;
68
+ this._functionName = functionIdentifier;
69
+ // Extract type arguments and function arguments
70
+ this._typeArguments = entryFunction.type_args.map((typeArg) => typeArg.toString());
71
+ this._functionArguments = entryFunction.args;
72
+ }
73
+ /**
74
+ * Generate the transaction payload data for the custom transaction
75
+ *
76
+ * @returns {InputGenerateTransactionPayloadData} The transaction payload data
77
+ */
78
+ getTransactionPayloadData() {
79
+ const functionName = this.getValidatedFullFunctionName();
80
+ return {
81
+ function: functionName,
82
+ typeArguments: this._typeArguments,
83
+ functionArguments: this._functionArguments,
84
+ abi: this._entryFunctionAbi,
85
+ };
86
+ }
87
+ /**
88
+ * Get the custom transaction parameters
89
+ *
90
+ * @returns {CustomTransactionParams} The custom transaction parameters
91
+ */
92
+ getCustomTransactionParams() {
93
+ return {
94
+ moduleName: this._moduleName || '',
95
+ functionName: this._functionName || '',
96
+ typeArguments: this._typeArguments,
97
+ functionArguments: this._functionArguments,
98
+ };
99
+ }
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
+ /**
135
+ * Override the deprecated recipient getter to handle custom transactions gracefully
136
+ * Custom transactions may not have traditional recipients
137
+ *
138
+ * @deprecated - use `recipients()`
139
+ */
140
+ get recipient() {
141
+ // For custom transactions, return a placeholder recipient if no recipients exist
142
+ if (this._recipients.length === 0) {
143
+ return {
144
+ address: '', // Empty address for custom transactions
145
+ amount: '0',
146
+ };
147
+ }
148
+ return this._recipients[0];
149
+ }
150
+ /**
151
+ * Get validated full function name with runtime format checking
152
+ *
153
+ * @returns {string} The validated full function name
154
+ * @throws {Error} If function name format is invalid
155
+ */
156
+ getValidatedFullFunctionName() {
157
+ if (!this._moduleName || !this._functionName) {
158
+ throw new Error('Module name and function name must be set before building transaction');
159
+ }
160
+ const fullName = `${this._moduleName}::${this._functionName}`;
161
+ // Runtime validation of the expected format
162
+ // Supports both hex addresses (SHORT/LONG) and named addresses
163
+ const fullFunctionPattern = /^(0x[a-fA-F0-9]{1,64}|[a-zA-Z_][a-zA-Z0-9_]*)::[a-zA-Z_][a-zA-Z0-9_]*::[a-zA-Z_][a-zA-Z0-9_]*$/;
164
+ if (!fullFunctionPattern.test(fullName)) {
165
+ throw new Error(`Invalid full function name format: "${fullName}". Expected format: "address::module::function"`);
166
+ }
167
+ return fullName;
168
+ }
169
+ }
170
+ exports.CustomTransaction = CustomTransaction;
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL2N1c3RvbVRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUE0QztBQUU1QyxtREFBdUQ7QUFDdkQsK0NBTzRCO0FBRzVCOztHQUVHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSx5QkFBVztJQU9oRCxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUxaLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLHVCQUFrQixHQUF5RSxFQUFFLENBQUM7UUFLcEcsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDBCQUEwQixDQUFDLE1BQStCO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxHQUFxQjtRQUN2QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxnQkFBZ0I7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElB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RCxDQUFDO0NBQ0Y7QUFqTUQsOENBaU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7XG4gIEVudHJ5RnVuY3Rpb25BQkksXG4gIEVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzLFxuICBJbnB1dEdlbmVyYXRlVHJhbnNhY3Rpb25QYXlsb2FkRGF0YSxcbiAgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXMsXG4gIFRyYW5zYWN0aW9uUGF5bG9hZCxcbiAgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbixcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zIH0gZnJvbSAnLi4vaWZhY2UnO1xuXG4vKipcbiAqIFRyYW5zYWN0aW9uIGNsYXNzIGZvciBjdXN0b20gQXB0b3MgdHJhbnNhY3Rpb25zIHdpdGggZW50cnkgZnVuY3Rpb24gcGF5bG9hZHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21UcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uIHtcbiAgcHJpdmF0ZSBfbW9kdWxlTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIF9mdW5jdGlvbk5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfdHlwZUFyZ3VtZW50czogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBfZnVuY3Rpb25Bcmd1bWVudHM6IEFycmF5PEVudHJ5RnVuY3Rpb25Bcmd1bWVudFR5cGVzIHwgU2ltcGxlRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXM+ID0gW107XG4gIHByaXZhdGUgX2VudHJ5RnVuY3Rpb25BYmk/OiBFbnRyeUZ1bmN0aW9uQUJJO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1c3RvbSB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzXG4gICAqXG4gICAqIEBwYXJhbSB7Q3VzdG9tVHJhbnNhY3Rpb25QYXJhbXN9IHBhcmFtcyAtIEN1c3RvbSB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzXG4gICAqL1xuICBzZXRDdXN0b21UcmFuc2FjdGlvblBhcmFtcyhwYXJhbXM6IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZU1vZHVsZU5hbWUocGFyYW1zLm1vZHVsZU5hbWUpO1xuICAgIHRoaXMudmFsaWRhdGVGdW5jdGlvbk5hbWUocGFyYW1zLmZ1bmN0aW9uTmFtZSk7XG5cbiAgICB0aGlzLl9tb2R1bGVOYW1lID0gcGFyYW1zLm1vZHVsZU5hbWU7XG4gICAgdGhpcy5fZnVuY3Rpb25OYW1lID0gcGFyYW1zLmZ1bmN0aW9uTmFtZTtcbiAgICB0aGlzLl90eXBlQXJndW1lbnRzID0gcGFyYW1zLnR5cGVBcmd1bWVudHMgfHwgW107XG4gICAgdGhpcy5fZnVuY3Rpb25Bcmd1bWVudHMgPSBwYXJhbXMuZnVuY3Rpb25Bcmd1bWVudHMgfHwgW107XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBlbnRyeSBmdW5jdGlvbiBBQklcbiAgICpcbiAgICogQHBhcmFtIHtFbnRyeUZ1bmN0aW9uQUJJfSBhYmkgLSBUaGUgQUJJIGRlZmluaXRpb24gZm9yIHRoZSBlbnRyeSBmdW5jdGlvblxuICAgKi9cbiAgc2V0RW50cnlGdW5jdGlvbkFiaShhYmk6IEVudHJ5RnVuY3Rpb25BQkkpOiB2b2lkIHtcbiAgICB0aGlzLl9lbnRyeUZ1bmN0aW9uQWJpID0gYWJpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZnVsbCBmdW5jdGlvbiBuYW1lIGluIHRoZSBmb3JtYXQgbW9kdWxlTmFtZTo6ZnVuY3Rpb25OYW1lXG4gICAqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmdWxsIGZ1bmN0aW9uIG5hbWVcbiAgICovXG4gIGdldCBmdWxsRnVuY3Rpb25OYW1lKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9tb2R1bGVOYW1lIHx8ICF0aGlzLl9mdW5jdGlvbk5hbWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMuX21vZHVsZU5hbWV9Ojoke3RoaXMuX2Z1bmN0aW9uTmFtZX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlIGEgdHJhbnNhY3Rpb24gcGF5bG9hZCB0byBleHRyYWN0IHRoZSBjdXN0b20gdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uUGF5bG9hZH0gcGF5bG9hZCAtIFRoZSB0cmFuc2FjdGlvbiBwYXlsb2FkIHRvIHBhcnNlXG4gICAqL1xuICBwcm90ZWN0ZWQgcGFyc2VUcmFuc2FjdGlvblBheWxvYWQocGF5bG9hZDogVHJhbnNhY3Rpb25QYXlsb2FkKTogdm9pZCB7XG4gICAgaWYgKCEocGF5bG9hZCBpbnN0YW5jZW9mIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGVudHJ5IGZ1bmN0aW9uIHBheWxvYWQgZm9yIGN1c3RvbSB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IGVudHJ5RnVuY3Rpb24gPSBwYXlsb2FkLmVudHJ5RnVuY3Rpb247XG5cbiAgICAvLyBFeHRyYWN0IGZ1bmN0aW9uIGRhdGFcbiAgICBjb25zdCBtb2R1bGVBZGRyZXNzID0gZW50cnlGdW5jdGlvbi5tb2R1bGVfbmFtZS5hZGRyZXNzLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgbW9kdWxlSWRlbnRpZmllciA9IGVudHJ5RnVuY3Rpb24ubW9kdWxlX25hbWUubmFtZS5pZGVudGlmaWVyO1xuICAgIGNvbnN0IGZ1bmN0aW9uSWRlbnRpZmllciA9IGVudHJ5RnVuY3Rpb24uZnVuY3Rpb25fbmFtZS5pZGVudGlmaWVyO1xuXG4gICAgY29uc3QgbW9kdWxlTmFtZSA9IGAke21vZHVsZUFkZHJlc3N9Ojoke21vZHVsZUlkZW50aWZpZXJ9YDtcblxuICAgIC8vIFZhbGlkYXRlIHRoZSBleHRyYWN0ZWQgbmFtZXMgdXNpbmcgb3VyIGV4aXN0aW5nIHZhbGlkYXRpb25cbiAgICB0aGlzLnZhbGlkYXRlTW9kdWxlTmFtZShtb2R1bGVOYW1lKTtcbiAgICB0aGlzLnZhbGlkYXRlRnVuY3Rpb25OYW1lKGZ1bmN0aW9uSWRlbnRpZmllcik7XG5cbiAgICB0aGlzLl9tb2R1bGVOYW1lID0gbW9kdWxlTmFtZTtcbiAgICB0aGlzLl9mdW5jdGlvbk5hbWUgPSBmdW5jdGlvbklkZW50aWZpZXI7XG5cbiAgICAvLyBFeHRyYWN0IHR5cGUgYXJndW1lbnRzIGFuZCBmdW5jdGlvbiBhcmd1bWVudHNcbiAgICB0aGlzLl90eXBlQXJndW1lbnRzID0gZW50cnlGdW5jdGlvbi50eXBlX2FyZ3MubWFwKCh0eXBlQXJnKSA9PiB0eXBlQXJnLnRvU3RyaW5nKCkpO1xuICAgIHRoaXMuX2Z1bmN0aW9uQXJndW1lbnRzID0gZW50cnlGdW5jdGlvbi5hcmdzIGFzIEFycmF5PFxuICAgICAgRW50cnlGdW5jdGlvbkFyZ3VtZW50VHlwZXMgfCBTaW1wbGVFbnRyeUZ1bmN0aW9uQXJndW1lbnRUeXBlc1xuICAgID47XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgdGhlIHRyYW5zYWN0aW9uIHBheWxvYWQgZGF0YSBmb3IgdGhlIGN1c3RvbSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcmV0dXJucyB7SW5wdXRHZW5lcmF0ZVRyYW5zYWN0aW9uUGF5bG9hZERhdGF9IFRoZSB0cmFuc2FjdGlvbiBwYXlsb2FkIGRhdGFcbiAgICovXG4gIHByb3RlY3RlZCBnZXRUcmFuc2FjdGlvblBheWxvYWREYXRhKCk6IElucHV0R2VuZXJhdGVUcmFuc2FjdGlvblBheWxvYWREYXRhIHtcbiAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSB0aGlzLmdldFZhbGlkYXRlZEZ1bGxGdW5jdGlvbk5hbWUoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBmdW5jdGlvbjogZnVuY3Rpb25OYW1lLFxuICAgICAgdHlwZUFyZ3VtZW50czogdGhpcy5fdHlwZUFyZ3VtZW50cyxcbiAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyxcbiAgICAgIGFiaTogdGhpcy5fZW50cnlGdW5jdGlvbkFiaSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICpcbiAgICogQHJldHVybnMge0N1c3RvbVRyYW5zYWN0aW9uUGFyYW1zfSBUaGUgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICovXG4gIGdldEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKCk6IEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlTmFtZTogdGhpcy5fbW9kdWxlTmFtZSB8fCAnJyxcbiAgICAgIGZ1bmN0aW9uTmFtZTogdGhpcy5fZnVuY3Rpb25OYW1lIHx8ICcnLFxuICAgICAgdHlwZUFyZ3VtZW50czogdGhpcy5fdHlwZUFyZ3VtZW50cyxcbiAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiB0aGlzLl9mdW5jdGlvbkFyZ3VtZW50cyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIG1vZHVsZSBuYW1lIGZvcm1hdFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbW9kdWxlTmFtZSAtIE1vZHVsZSBuYW1lIHRvIHZhbGlkYXRlXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBtb2R1bGUgbmFtZSBmb3JtYXQgaXMgaW52YWxpZFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZU1vZHVsZU5hbWUobW9kdWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCFtb2R1bGVOYW1lIHx8IHR5cGVvZiBtb2R1bGVOYW1lICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNb2R1bGUgbmFtZSBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcbiAgICB9XG5cbiAgICAvLyBBcHRvcyBtb2R1bGUgbmFtZSBmb3JtYXQ6IGFkZHJlc3M6Om1vZHVsZV9uYW1lXG4gICAgLy8gU3VwcG9ydHMgYm90aCBTSE9SVCAoMHgxKSBhbmQgTE9ORyAoMHgwMDAwLi4uMDAwMSkgYWRkcmVzcyBmb3JtYXRzXG4gICAgLy8gQWxzbyBzdXBwb3J0cyBuYW1lZCBhZGRyZXNzZXMgKHJlc29sdmVkIGF0IGRlcGxveW1lbnQgdGltZSlcbiAgICBjb25zdCBtb2R1bGVOYW1lUGF0dGVybiA9IC9eKDB4W2EtZkEtRjAtOV17MSw2NH18W2EtekEtWl9dW2EtekEtWjAtOV9dKik6OlthLXpBLVpfXVthLXpBLVowLTlfXSokLztcbiAgICBpZiAoIW1vZHVsZU5hbWVQYXR0ZXJuLnRlc3QobW9kdWxlTmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEludmFsaWQgbW9kdWxlIG5hbWUgZm9ybWF0OiBcIiR7bW9kdWxlTmFtZX1cIi4gRXhwZWN0ZWQgZm9ybWF0OiBcIjB4YWRkcmVzczo6bW9kdWxlX25hbWVcIiBvciBcIm5hbWVkX2FkZHJlc3M6Om1vZHVsZV9uYW1lXCJgXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBmdW5jdGlvbiBuYW1lIGZvcm1hdFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZnVuY3Rpb25OYW1lIC0gRnVuY3Rpb24gbmFtZSB0byB2YWxpZGF0ZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgZnVuY3Rpb24gbmFtZSBmb3JtYXQgaXMgaW52YWxpZFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZ1bmN0aW9uTmFtZShmdW5jdGlvbk5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghZnVuY3Rpb25OYW1lIHx8IHR5cGVvZiBmdW5jdGlvbk5hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Z1bmN0aW9uIG5hbWUgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuXG4gICAgLy8gQXB0b3MgZnVuY3Rpb24gbmFtZSBwYXR0ZXJuOiB2YWxpZCBpZGVudGlmaWVyIChsZXR0ZXJzLCBudW1iZXJzLCB1bmRlcnNjb3Jlcywgc3RhcnRpbmcgd2l0aCBsZXR0ZXIvdW5kZXJzY29yZSlcbiAgICBjb25zdCBmdW5jdGlvbk5hbWVQYXR0ZXJuID0gL15bYS16QS1aX11bYS16QS1aMC05X10qJC87XG4gICAgaWYgKCFmdW5jdGlvbk5hbWVQYXR0ZXJuLnRlc3QoZnVuY3Rpb25OYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW52YWxpZCBmdW5jdGlvbiBuYW1lIGZvcm1hdDogXCIke2Z1bmN0aW9uTmFtZX1cIi4gRnVuY3Rpb24gbmFtZXMgbXVzdCBiZSB2YWxpZCBpZGVudGlmaWVycyAobGV0dGVycywgbnVtYmVycywgdW5kZXJzY29yZXMsIHN0YXJ0aW5nIHdpdGggbGV0dGVyIG9yIHVuZGVyc2NvcmUpYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3ZlcnJpZGUgdGhlIGRlcHJlY2F0ZWQgcmVjaXBpZW50IGdldHRlciB0byBoYW5kbGUgY3VzdG9tIHRyYW5zYWN0aW9ucyBncmFjZWZ1bGx5XG4gICAqIEN1c3RvbSB0cmFuc2FjdGlvbnMgbWF5IG5vdCBoYXZlIHRyYWRpdGlvbmFsIHJlY2lwaWVudHNcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgLSB1c2UgYHJlY2lwaWVudHMoKWBcbiAgICovXG4gIGdldCByZWNpcGllbnQoKTogYW55IHtcbiAgICAvLyBGb3IgY3VzdG9tIHRyYW5zYWN0aW9ucywgcmV0dXJuIGEgcGxhY2Vob2xkZXIgcmVjaXBpZW50IGlmIG5vIHJlY2lwaWVudHMgZXhpc3RcbiAgICBpZiAodGhpcy5fcmVjaXBpZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFkZHJlc3M6ICcnLCAvLyBFbXB0eSBhZGRyZXNzIGZvciBjdXN0b20gdHJhbnNhY3Rpb25zXG4gICAgICAgIGFtb3VudDogJzAnLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3JlY2lwaWVudHNbMF07XG4gIH1cblxuICAvKipcbiAgICogR2V0IHZhbGlkYXRlZCBmdWxsIGZ1bmN0aW9uIG5hbWUgd2l0aCBydW50aW1lIGZvcm1hdCBjaGVja2luZ1xuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgdmFsaWRhdGVkIGZ1bGwgZnVuY3Rpb24gbmFtZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgZnVuY3Rpb24gbmFtZSBmb3JtYXQgaXMgaW52YWxpZFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRWYWxpZGF0ZWRGdWxsRnVuY3Rpb25OYW1lKCk6IGAke3N0cmluZ306OiR7c3RyaW5nfTo6JHtzdHJpbmd9YCB7XG4gICAgaWYgKCF0aGlzLl9tb2R1bGVOYW1lIHx8ICF0aGlzLl9mdW5jdGlvbk5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTW9kdWxlIG5hbWUgYW5kIGZ1bmN0aW9uIG5hbWUgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZnVsbE5hbWUgPSBgJHt0aGlzLl9tb2R1bGVOYW1lfTo6JHt0aGlzLl9mdW5jdGlvbk5hbWV9YDtcblxuICAgIC8vIFJ1bnRpbWUgdmFsaWRhdGlvbiBvZiB0aGUgZXhwZWN0ZWQgZm9ybWF0XG4gICAgLy8gU3VwcG9ydHMgYm90aCBoZXggYWRkcmVzc2VzIChTSE9SVC9MT05HKSBhbmQgbmFtZWQgYWRkcmVzc2VzXG4gICAgY29uc3QgZnVsbEZ1bmN0aW9uUGF0dGVybiA9XG4gICAgICAvXigweFthLWZBLUYwLTldezEsNjR9fFthLXpBLVpfXVthLXpBLVowLTlfXSopOjpbYS16QS1aX11bYS16QS1aMC05X10qOjpbYS16QS1aX11bYS16QS1aMC05X10qJC87XG4gICAgaWYgKCFmdWxsRnVuY3Rpb25QYXR0ZXJuLnRlc3QoZnVsbE5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZnVsbCBmdW5jdGlvbiBuYW1lIGZvcm1hdDogXCIke2Z1bGxOYW1lfVwiLiBFeHBlY3RlZCBmb3JtYXQ6IFwiYWRkcmVzczo6bW9kdWxlOjpmdW5jdGlvblwiYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZ1bGxOYW1lIGFzIGAke3N0cmluZ306OiR7c3RyaW5nfTo6JHtzdHJpbmd9YDtcbiAgfVxufVxuIl19
@@ -0,0 +1,64 @@
1
+ import { TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { EntryFunctionABI, TransactionPayload } from '@aptos-labs/ts-sdk';
4
+ import { Transaction } from '../transaction/transaction';
5
+ import { TransactionBuilder } from './transactionBuilder';
6
+ import { CustomTransaction } from '../transaction/customTransaction';
7
+ import { CustomTransactionParams } from '../iface';
8
+ /**
9
+ * Builder for Aptos custom transactions.
10
+ * Allows building transactions with any entry function call.
11
+ */
12
+ export declare class CustomTransactionBuilder extends TransactionBuilder {
13
+ protected _transaction: CustomTransaction;
14
+ constructor(_coinConfig: Readonly<CoinConfig>);
15
+ /**
16
+ * @returns {TransactionType} The transaction type
17
+ */
18
+ protected get transactionType(): TransactionType;
19
+ /**
20
+ * Set the custom transaction parameters
21
+ *
22
+ * @param {CustomTransactionParams} params - Custom transaction parameters
23
+ * @returns {CustomTransactionBuilder} The builder instance
24
+ */
25
+ customTransaction(params: CustomTransactionParams): CustomTransactionBuilder;
26
+ /**
27
+ * Set the entry function ABI
28
+ *
29
+ * @param {EntryFunctionABI} abi - The ABI definition for the entry function
30
+ * @returns {CustomTransactionBuilder} The builder instance
31
+ */
32
+ entryFunctionAbi(abi: EntryFunctionABI): CustomTransactionBuilder;
33
+ /**
34
+ * @inheritdoc
35
+ */
36
+ assetId(assetId: string): TransactionBuilder;
37
+ /**
38
+ * Check if a transaction payload is valid for this builder
39
+ *
40
+ * @param {TransactionPayload} payload - The transaction payload to check
41
+ * @returns {boolean} True if the payload is valid for this builder
42
+ */
43
+ protected isValidTransactionPayload(payload: TransactionPayload): boolean;
44
+ /**
45
+ * Initialize the builder from an existing transaction
46
+ *
47
+ * @param {Transaction} tx - The transaction to initialize from
48
+ */
49
+ initBuilder(tx: Transaction): void;
50
+ /**
51
+ * Build the transaction
52
+ *
53
+ * @returns {Promise<CustomTransaction>} The built transaction
54
+ */
55
+ build(): Promise<CustomTransaction>;
56
+ /**
57
+ * Get the transaction builder instance from an existing transaction
58
+ *
59
+ * @param {Transaction} tx - The transaction to convert
60
+ * @returns {TransactionBuilder} The transaction builder
61
+ */
62
+ from(tx: Transaction): TransactionBuilder;
63
+ }
64
+ //# sourceMappingURL=customTransactionBuilder.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomTransactionBuilder = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const ts_sdk_1 = require("@aptos-labs/ts-sdk");
6
+ const transactionBuilder_1 = require("./transactionBuilder");
7
+ const customTransaction_1 = require("../transaction/customTransaction");
8
+ /**
9
+ * Builder for Aptos custom transactions.
10
+ * Allows building transactions with any entry function call.
11
+ */
12
+ class CustomTransactionBuilder extends transactionBuilder_1.TransactionBuilder {
13
+ constructor(_coinConfig) {
14
+ super(_coinConfig);
15
+ this._transaction = new customTransaction_1.CustomTransaction(_coinConfig);
16
+ }
17
+ /**
18
+ * @returns {TransactionType} The transaction type
19
+ */
20
+ get transactionType() {
21
+ return sdk_core_1.TransactionType.CustomTx;
22
+ }
23
+ /**
24
+ * Set the custom transaction parameters
25
+ *
26
+ * @param {CustomTransactionParams} params - Custom transaction parameters
27
+ * @returns {CustomTransactionBuilder} The builder instance
28
+ */
29
+ customTransaction(params) {
30
+ if (!params.moduleName) {
31
+ throw new sdk_core_1.BuildTransactionError('Missing module name');
32
+ }
33
+ if (!params.functionName) {
34
+ throw new sdk_core_1.BuildTransactionError('Missing function name');
35
+ }
36
+ this._transaction.setCustomTransactionParams(params);
37
+ return this;
38
+ }
39
+ /**
40
+ * Set the entry function ABI
41
+ *
42
+ * @param {EntryFunctionABI} abi - The ABI definition for the entry function
43
+ * @returns {CustomTransactionBuilder} The builder instance
44
+ */
45
+ entryFunctionAbi(abi) {
46
+ this._transaction.setEntryFunctionAbi(abi);
47
+ return this;
48
+ }
49
+ /**
50
+ * @inheritdoc
51
+ */
52
+ assetId(assetId) {
53
+ // Asset ID is optional for custom transactions
54
+ this._transaction.assetId = assetId;
55
+ return this;
56
+ }
57
+ /**
58
+ * Check if a transaction payload is valid for this builder
59
+ *
60
+ * @param {TransactionPayload} payload - The transaction payload to check
61
+ * @returns {boolean} True if the payload is valid for this builder
62
+ */
63
+ isValidTransactionPayload(payload) {
64
+ // Basic payload type check
65
+ if (!(payload instanceof ts_sdk_1.TransactionPayloadEntryFunction)) {
66
+ return false;
67
+ }
68
+ try {
69
+ 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
+ // Validate module and function identifiers
76
+ const moduleIdentifier = entryFunction.module_name.name.identifier;
77
+ 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
+ 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)) {
87
+ return false;
88
+ }
89
+ return true;
90
+ }
91
+ catch (error) {
92
+ return false;
93
+ }
94
+ }
95
+ /**
96
+ * Initialize the builder from an existing transaction
97
+ *
98
+ * @param {Transaction} tx - The transaction to initialize from
99
+ */
100
+ initBuilder(tx) {
101
+ super.initBuilder(tx);
102
+ if (tx instanceof customTransaction_1.CustomTransaction) {
103
+ const params = tx.getCustomTransactionParams();
104
+ // Only set custom transaction params if they are defined
105
+ if (params.moduleName && params.functionName) {
106
+ this.customTransaction(params);
107
+ }
108
+ }
109
+ }
110
+ /**
111
+ * Build the transaction
112
+ *
113
+ * @returns {Promise<CustomTransaction>} The built transaction
114
+ */
115
+ async build() {
116
+ const params = this._transaction.getCustomTransactionParams();
117
+ if (!params.moduleName || !params.functionName) {
118
+ throw new sdk_core_1.BuildTransactionError('Missing required module or function name');
119
+ }
120
+ return (await super.build());
121
+ }
122
+ /**
123
+ * Get the transaction builder instance from an existing transaction
124
+ *
125
+ * @param {Transaction} tx - The transaction to convert
126
+ * @returns {TransactionBuilder} The transaction builder
127
+ */
128
+ from(tx) {
129
+ if (!(tx instanceof customTransaction_1.CustomTransaction)) {
130
+ throw new sdk_core_1.BuildTransactionError('Invalid transaction type');
131
+ }
132
+ this.initBuilder(tx);
133
+ return this;
134
+ }
135
+ }
136
+ exports.CustomTransactionBuilder = CustomTransactionBuilder;
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIvY3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUE4RTtBQUU5RSwrQ0FBMkc7QUFFM0csNkRBQTBEO0FBQzFELHdFQUFxRTtBQUdyRTs7O0dBR0c7QUFDSCxNQUFhLHdCQUF5QixTQUFRLHVDQUFrQjtJQUc5RCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkscUNBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCLENBQUMsTUFBK0I7UUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksZ0NBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksZ0NBQXFCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLEdBQXFCO1FBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQiwrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ08seUJBQXlCLENBQUMsT0FBMkI7UUFDN0QsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxDQUFDLE9BQU8sWUFBWSx3Q0FBK0IsQ0FBQyxFQUFFLENBQUM7WUFDMUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsSUFBSSxDQUFDO1lBQ0gsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUM1QyxpQ0FBaUM7WUFDakMsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDcEMsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0QsMkNBQTJDO1lBQzNDLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ25FLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7WUFDbEUsMkZBQTJGO1lBQzNGLE1BQU0saUJBQWlCLEdBQUcsMEJBQTBCLENBQUM7WUFDckQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztnQkFDN0YsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0QsOEJBQThCO1lBQzlCLE1BQU0sVUFBVSxHQUFHLEdBQUcsYUFBYSxLQUFLLGdCQUFnQixFQUFFLENBQUM7WUFDM0QsTUFBTSxpQkFBaUIsR0FBRywrQ0FBK0MsQ0FBQztZQUMxRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdEIsSUFBSSxFQUFFLFlBQVkscUNBQWlCLEVBQUUsQ0FBQztZQUNwQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUMvQyx5REFBeUQ7WUFDekQsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsS0FBSztRQUNULE1BQU0sTUFBTSxHQUFJLElBQUksQ0FBQyxZQUFrQyxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDckYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0MsTUFBTSxJQUFJLGdDQUFxQixDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDOUUsQ0FBQztRQUVELE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBc0IsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFJLENBQUMsRUFBZTtRQUNsQixJQUFJLENBQUMsQ0FBQyxFQUFFLFlBQVkscUNBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBeklELDREQXlJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgRW50cnlGdW5jdGlvbkFCSSwgVHJhbnNhY3Rpb25QYXlsb2FkLCBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uIH0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgQ3VzdG9tVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbi9jdXN0b21UcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBDdXN0b21UcmFuc2FjdGlvblBhcmFtcyB9IGZyb20gJy4uL2lmYWNlJztcblxuLyoqXG4gKiBCdWlsZGVyIGZvciBBcHRvcyBjdXN0b20gdHJhbnNhY3Rpb25zLlxuICogQWxsb3dzIGJ1aWxkaW5nIHRyYW5zYWN0aW9ucyB3aXRoIGFueSBlbnRyeSBmdW5jdGlvbiBjYWxsLlxuICovXG5leHBvcnQgY2xhc3MgQ3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF90cmFuc2FjdGlvbjogQ3VzdG9tVHJhbnNhY3Rpb247XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IEN1c3RvbVRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25UeXBlfSBUaGUgdHJhbnNhY3Rpb24gdHlwZVxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkN1c3RvbVR4O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICpcbiAgICogQHBhcmFtIHtDdXN0b21UcmFuc2FjdGlvblBhcmFtc30gcGFyYW1zIC0gQ3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICogQHJldHVybnMge0N1c3RvbVRyYW5zYWN0aW9uQnVpbGRlcn0gVGhlIGJ1aWxkZXIgaW5zdGFuY2VcbiAgICovXG4gIGN1c3RvbVRyYW5zYWN0aW9uKHBhcmFtczogQ3VzdG9tVHJhbnNhY3Rpb25QYXJhbXMpOiBDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGlmICghcGFyYW1zLm1vZHVsZU5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgbW9kdWxlIG5hbWUnKTtcbiAgICB9XG5cbiAgICBpZiAoIXBhcmFtcy5mdW5jdGlvbk5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgZnVuY3Rpb24gbmFtZScpO1xuICAgIH1cblxuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnNldEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBlbnRyeSBmdW5jdGlvbiBBQklcbiAgICpcbiAgICogQHBhcmFtIHtFbnRyeUZ1bmN0aW9uQUJJfSBhYmkgLSBUaGUgQUJJIGRlZmluaXRpb24gZm9yIHRoZSBlbnRyeSBmdW5jdGlvblxuICAgKiBAcmV0dXJucyB7Q3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyfSBUaGUgYnVpbGRlciBpbnN0YW5jZVxuICAgKi9cbiAgZW50cnlGdW5jdGlvbkFiaShhYmk6IEVudHJ5RnVuY3Rpb25BQkkpOiBDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnNldEVudHJ5RnVuY3Rpb25BYmkoYWJpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgYXNzZXRJZChhc3NldElkOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIC8vIEFzc2V0IElEIGlzIG9wdGlvbmFsIGZvciBjdXN0b20gdHJhbnNhY3Rpb25zXG4gICAgdGhpcy5fdHJhbnNhY3Rpb24uYXNzZXRJZCA9IGFzc2V0SWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSB0cmFuc2FjdGlvbiBwYXlsb2FkIGlzIHZhbGlkIGZvciB0aGlzIGJ1aWxkZXJcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblBheWxvYWR9IHBheWxvYWQgLSBUaGUgdHJhbnNhY3Rpb24gcGF5bG9hZCB0byBjaGVja1xuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcGF5bG9hZCBpcyB2YWxpZCBmb3IgdGhpcyBidWlsZGVyXG4gICAqL1xuICBwcm90ZWN0ZWQgaXNWYWxpZFRyYW5zYWN0aW9uUGF5bG9hZChwYXlsb2FkOiBUcmFuc2FjdGlvblBheWxvYWQpOiBib29sZWFuIHtcbiAgICAvLyBCYXNpYyBwYXlsb2FkIHR5cGUgY2hlY2tcbiAgICBpZiAoIShwYXlsb2FkIGluc3RhbmNlb2YgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbikpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVudHJ5RnVuY3Rpb24gPSBwYXlsb2FkLmVudHJ5RnVuY3Rpb247XG4gICAgICAvLyBWYWxpZGF0ZSBtb2R1bGUgYWRkcmVzcyBmb3JtYXRcbiAgICAgIGNvbnN0IG1vZHVsZUFkZHJlc3MgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLmFkZHJlc3MudG9TdHJpbmcoKTtcbiAgICAgIGlmICghbW9kdWxlQWRkcmVzcy5zdGFydHNXaXRoKCcweCcpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIC8vIFZhbGlkYXRlIG1vZHVsZSBhbmQgZnVuY3Rpb24gaWRlbnRpZmllcnNcbiAgICAgIGNvbnN0IG1vZHVsZUlkZW50aWZpZXIgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLm5hbWUuaWRlbnRpZmllcjtcbiAgICAgIGNvbnN0IGZ1bmN0aW9uSWRlbnRpZmllciA9IGVudHJ5RnVuY3Rpb24uZnVuY3Rpb25fbmFtZS5pZGVudGlmaWVyO1xuICAgICAgLy8gQ2hlY2sgaWRlbnRpZmllciBmb3JtYXQgKGxldHRlcnMsIG51bWJlcnMsIHVuZGVyc2NvcmVzLCBzdGFydGluZyB3aXRoIGxldHRlci91bmRlcnNjb3JlKVxuICAgICAgY29uc3QgaWRlbnRpZmllclBhdHRlcm4gPSAvXlthLXpBLVpfXVthLXpBLVowLTlfXSokLztcbiAgICAgIGlmICghaWRlbnRpZmllclBhdHRlcm4udGVzdChtb2R1bGVJZGVudGlmaWVyKSB8fCAhaWRlbnRpZmllclBhdHRlcm4udGVzdChmdW5jdGlvbklkZW50aWZpZXIpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIC8vIFZhbGlkYXRlIG1vZHVsZSBuYW1lIGZvcm1hdFxuICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IGAke21vZHVsZUFkZHJlc3N9Ojoke21vZHVsZUlkZW50aWZpZXJ9YDtcbiAgICAgIGNvbnN0IG1vZHVsZU5hbWVQYXR0ZXJuID0gL14weFthLWZBLUYwLTldezEsNjR9OjpbYS16QS1aX11bYS16QS1aMC05X10qJC87XG4gICAgICBpZiAoIW1vZHVsZU5hbWVQYXR0ZXJuLnRlc3QobW9kdWxlTmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgYnVpbGRlciBmcm9tIGFuIGV4aXN0aW5nIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IC0gVGhlIHRyYW5zYWN0aW9uIHRvIGluaXRpYWxpemUgZnJvbVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuXG4gICAgaWYgKHR4IGluc3RhbmNlb2YgQ3VzdG9tVHJhbnNhY3Rpb24pIHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHR4LmdldEN1c3RvbVRyYW5zYWN0aW9uUGFyYW1zKCk7XG4gICAgICAvLyBPbmx5IHNldCBjdXN0b20gdHJhbnNhY3Rpb24gcGFyYW1zIGlmIHRoZXkgYXJlIGRlZmluZWRcbiAgICAgIGlmIChwYXJhbXMubW9kdWxlTmFtZSAmJiBwYXJhbXMuZnVuY3Rpb25OYW1lKSB7XG4gICAgICAgIHRoaXMuY3VzdG9tVHJhbnNhY3Rpb24ocGFyYW1zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgdGhlIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEN1c3RvbVRyYW5zYWN0aW9uPn0gVGhlIGJ1aWx0IHRyYW5zYWN0aW9uXG4gICAqL1xuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPEN1c3RvbVRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgcGFyYW1zID0gKHRoaXMuX3RyYW5zYWN0aW9uIGFzIEN1c3RvbVRyYW5zYWN0aW9uKS5nZXRDdXN0b21UcmFuc2FjdGlvblBhcmFtcygpO1xuICAgIGlmICghcGFyYW1zLm1vZHVsZU5hbWUgfHwgIXBhcmFtcy5mdW5jdGlvbk5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgbW9kdWxlIG9yIGZ1bmN0aW9uIG5hbWUnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKGF3YWl0IHN1cGVyLmJ1aWxkKCkpIGFzIEN1c3RvbVRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBpbnN0YW5jZSBmcm9tIGFuIGV4aXN0aW5nIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IC0gVGhlIHRyYW5zYWN0aW9uIHRvIGNvbnZlcnRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIGZyb20odHg6IFRyYW5zYWN0aW9uKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICBpZiAoISh0eCBpbnN0YW5jZW9mIEN1c3RvbVRyYW5zYWN0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0QnVpbGRlcih0eCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==
@@ -6,6 +6,7 @@ import { SignedTransaction } from '@aptos-labs/ts-sdk';
6
6
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
7
7
  import { FungibleAssetTransferBuilder } from './transactionBuilder/fungibleAssetTransferBuilder';
8
8
  import { DigitalAssetTransferBuilder } from './transactionBuilder/digitalAssetTransferBuilder';
9
+ import { CustomTransactionBuilder } from './transactionBuilder/customTransactionBuilder';
9
10
  export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
10
11
  constructor(_coinConfig: Readonly<CoinConfig>);
11
12
  /** @inheritdoc */
@@ -17,6 +18,13 @@ export declare class TransactionBuilderFactory extends BaseTransactionBuilderFac
17
18
  getFungibleAssetTransactionBuilder(tx?: Transaction): FungibleAssetTransferBuilder;
18
19
  /** @inheritdoc */
19
20
  getDigitalAssetTransactionBuilder(tx?: Transaction): DigitalAssetTransferBuilder;
21
+ /**
22
+ * Get a custom transaction builder
23
+ *
24
+ * @param tx - Optional transaction to initialize the builder with
25
+ * @returns A custom transaction builder
26
+ */
27
+ getCustomTransactionBuilder(tx?: Transaction): CustomTransactionBuilder;
20
28
  /** @inheritdoc */
21
29
  getWalletInitializationBuilder(): void;
22
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AAEjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAE/F,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB;IAyB9C,+BAA+B,CAAC,SAAS,EAAE,iBAAiB,GAAG,eAAe;IAK9E,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,kBAAkB;IAClB,kCAAkC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,4BAA4B;IAIlF,kBAAkB;IAClB,iCAAiC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,2BAA2B;IAIhF,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;IAItC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;CAM1B"}
1
+ {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AAEjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAE/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAEzF,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB;IA8B9C,+BAA+B,CAAC,SAAS,EAAE,iBAAiB,GAAG,eAAe;IAK9E,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,kBAAkB;IAClB,kCAAkC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,4BAA4B;IAIlF,kBAAkB;IAClB,iCAAiC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,2BAA2B;IAIhF;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,wBAAwB;IAIvE,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;IAItC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;CAM1B"}
@@ -13,6 +13,8 @@ const fungibleAssetTransfer_1 = require("./transaction/fungibleAssetTransfer");
13
13
  const fungibleAssetTransferBuilder_1 = require("./transactionBuilder/fungibleAssetTransferBuilder");
14
14
  const digitalAssetTransfer_1 = require("./transaction/digitalAssetTransfer");
15
15
  const digitalAssetTransferBuilder_1 = require("./transactionBuilder/digitalAssetTransferBuilder");
16
+ const customTransaction_1 = require("./transaction/customTransaction");
17
+ const customTransactionBuilder_1 = require("./transactionBuilder/customTransactionBuilder");
16
18
  class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
17
19
  constructor(_coinConfig) {
18
20
  super(_coinConfig);
@@ -35,6 +37,10 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
35
37
  const digitalAssetTransferTx = new digitalAssetTransfer_1.DigitalAssetTransfer(this._coinConfig);
36
38
  digitalAssetTransferTx.fromDeserializedSignedTransaction(signedTxn);
37
39
  return this.getDigitalAssetTransactionBuilder(digitalAssetTransferTx);
40
+ case sdk_core_1.TransactionType.CustomTx:
41
+ const customTx = new customTransaction_1.CustomTransaction(this._coinConfig);
42
+ customTx.fromDeserializedSignedTransaction(signedTxn);
43
+ return this.getCustomTransactionBuilder(customTx);
38
44
  default:
39
45
  throw new sdk_core_1.InvalidTransactionError('Invalid transaction');
40
46
  }
@@ -59,6 +65,15 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
59
65
  getDigitalAssetTransactionBuilder(tx) {
60
66
  return this.initializeBuilder(tx, new digitalAssetTransferBuilder_1.DigitalAssetTransferBuilder(this._coinConfig));
61
67
  }
68
+ /**
69
+ * Get a custom transaction builder
70
+ *
71
+ * @param tx - Optional transaction to initialize the builder with
72
+ * @returns A custom transaction builder
73
+ */
74
+ getCustomTransactionBuilder(tx) {
75
+ return this.initializeBuilder(tx, new customTransactionBuilder_1.CustomTransactionBuilder(this._coinConfig));
76
+ }
62
77
  /** @inheritdoc */
63
78
  getWalletInitializationBuilder() {
64
79
  throw new Error('Method not implemented.');
@@ -78,4 +93,4 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
78
93
  }
79
94
  }
80
95
  exports.TransactionBuilderFactory = TransactionBuilderFactory;
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBK0c7QUFFL0csMEVBQXVFO0FBQ3ZFLG9EQUE0QjtBQUM1QiwyREFBd0Q7QUFFeEQsMkVBQXdFO0FBRXhFLCtFQUE0RTtBQUM1RSxvR0FBaUc7QUFDakcsNkVBQTBFO0FBQzFFLGtHQUErRjtBQUUvRixNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUMxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxZQUFvQjtRQUN2QixJQUFJLENBQUM7WUFDSCxNQUFNLFNBQVMsR0FBRyx5QkFBVyxDQUFDLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoRSxRQUFRLE9BQU8sRUFBRSxDQUFDO2dCQUNoQixLQUFLLDBCQUFlLENBQUMsSUFBSTtvQkFDdkIsTUFBTSxVQUFVLEdBQUcsSUFBSSx5Q0FBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzdELFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDeEQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzdDLEtBQUssMEJBQWUsQ0FBQyxTQUFTO29CQUM1QixNQUFNLHVCQUF1QixHQUFHLElBQUksNkNBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUM1RSx1QkFBdUIsQ0FBQyxpQ0FBaUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDckUsT0FBTyxJQUFJLENBQUMsa0NBQWtDLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFDMUUsS0FBSywwQkFBZSxDQUFDLE9BQU87b0JBQzFCLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSwyQ0FBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzFFLHNCQUFzQixDQUFDLGlDQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNwRSxPQUFPLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2dCQUN4RTtvQkFDRSxNQUFNLElBQUksa0NBQXVCLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUM3RCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQsK0JBQStCLENBQUMsU0FBNEI7UUFDMUQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUNqQyxPQUFPLGVBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixrQkFBa0IsQ0FBQyxFQUFnQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0NBQWtDLENBQUMsRUFBZ0I7UUFDakQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksMkRBQTRCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixpQ0FBaUMsQ0FBQyxFQUFnQjtRQUNoRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSx5REFBMkIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDhCQUE4QjtRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGlCQUFpQixDQUErQixFQUEyQixFQUFFLE9BQVU7UUFDN0YsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQXJFRCw4REFxRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci90cmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7IFRyYW5zZmVyVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL3RyYW5zZmVyVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgRnVuZ2libGVBc3NldFRyYW5zZmVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbi9mdW5naWJsZUFzc2V0VHJhbnNmZXInO1xuaW1wb3J0IHsgRnVuZ2libGVBc3NldFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL2Z1bmdpYmxlQXNzZXRUcmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgRGlnaXRhbEFzc2V0VHJhbnNmZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uL2RpZ2l0YWxBc3NldFRyYW5zZmVyJztcbmltcG9ydCB7IERpZ2l0YWxBc3NldFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL2RpZ2l0YWxBc3NldFRyYW5zZmVyQnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbShzaWduZWRSYXdUeG46IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNpZ25lZFR4biA9IFRyYW5zYWN0aW9uLmRlc2VyaWFsaXplU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkUmF3VHhuKTtcbiAgICAgIGNvbnN0IHR4blR5cGUgPSB0aGlzLmdldFRyYW5zYWN0aW9uVHlwZUZyb21TaWduZWRUeG4oc2lnbmVkVHhuKTtcbiAgICAgIHN3aXRjaCAodHhuVHlwZSkge1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kOlxuICAgICAgICAgIGNvbnN0IHRyYW5zZmVyVHggPSBuZXcgVHJhbnNmZXJUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgICAgICB0cmFuc2ZlclR4LmZyb21EZXNlcmlhbGl6ZWRTaWduZWRUcmFuc2FjdGlvbihzaWduZWRUeG4pO1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQnVpbGRlcih0cmFuc2ZlclR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZFRva2VuOlxuICAgICAgICAgIGNvbnN0IGZ1bmdpYmxlVHJhbnNmZXJUb2tlblR4ID0gbmV3IEZ1bmdpYmxlQXNzZXRUcmFuc2Zlcih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgICAgICBmdW5naWJsZVRyYW5zZmVyVG9rZW5UeC5mcm9tRGVzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkVHhuKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRGdW5naWJsZUFzc2V0VHJhbnNhY3Rpb25CdWlsZGVyKGZ1bmdpYmxlVHJhbnNmZXJUb2tlblR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZE5GVDpcbiAgICAgICAgICBjb25zdCBkaWdpdGFsQXNzZXRUcmFuc2ZlclR4ID0gbmV3IERpZ2l0YWxBc3NldFRyYW5zZmVyKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIGRpZ2l0YWxBc3NldFRyYW5zZmVyVHguZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4bik7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGlnaXRhbEFzc2V0VHJhbnNhY3Rpb25CdWlsZGVyKGRpZ2l0YWxBc3NldFRyYW5zZmVyVHgpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgZ2V0VHJhbnNhY3Rpb25UeXBlRnJvbVNpZ25lZFR4bihzaWduZWRUeG46IFNpZ25lZFRyYW5zYWN0aW9uKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICBjb25zdCByYXdUeG4gPSBzaWduZWRUeG4ucmF3X3R4bjtcbiAgICByZXR1cm4gdXRpbHMuZ2V0VHJhbnNhY3Rpb25UeXBlRnJvbVRyYW5zYWN0aW9uUGF5bG9hZChyYXdUeG4ucGF5bG9hZCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRGdW5naWJsZUFzc2V0VHJhbnNhY3Rpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBGdW5naWJsZUFzc2V0VHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IEZ1bmdpYmxlQXNzZXRUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldERpZ2l0YWxBc3NldFRyYW5zYWN0aW9uQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogRGlnaXRhbEFzc2V0VHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IERpZ2l0YWxBc3NldFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSBidWlsZGVyIHdpdGggdGhlIGdpdmVuIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb24gfCB1bmRlZmluZWR9IHR4IC0gdGhlIHRyYW5zYWN0aW9uIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgYnVpbGRlclxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uQnVpbGRlcn0gYnVpbGRlciAtIHRoZSBidWlsZGVyIHRvIGJlIGluaXRpYWxpemVkXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IHRoZSBidWlsZGVyIGluaXRpYWxpemVkXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVCdWlsZGVyPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXI+KHR4OiBUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZCwgYnVpbGRlcjogVCk6IFQge1xuICAgIGlmICh0eCkge1xuICAgICAgYnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgfVxuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG59XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBK0c7QUFFL0csMEVBQXVFO0FBQ3ZFLG9EQUE0QjtBQUM1QiwyREFBd0Q7QUFFeEQsMkVBQXdFO0FBRXhFLCtFQUE0RTtBQUM1RSxvR0FBaUc7QUFDakcsNkVBQTBFO0FBQzFFLGtHQUErRjtBQUMvRix1RUFBb0U7QUFDcEUsNEZBQXlGO0FBRXpGLE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBQzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLFlBQW9CO1FBQ3ZCLElBQUksQ0FBQztZQUNILE1BQU0sU0FBUyxHQUFHLHlCQUFXLENBQUMsNEJBQTRCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDekUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWhFLFFBQVEsT0FBTyxFQUFFLENBQUM7Z0JBQ2hCLEtBQUssMEJBQWUsQ0FBQyxJQUFJO29CQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLHlDQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDN0QsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUN4RCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDN0MsS0FBSywwQkFBZSxDQUFDLFNBQVM7b0JBQzVCLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSw2Q0FBcUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzVFLHVCQUF1QixDQUFDLGlDQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNyRSxPQUFPLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2dCQUMxRSxLQUFLLDBCQUFlLENBQUMsT0FBTztvQkFDMUIsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLDJDQUFvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDMUUsc0JBQXNCLENBQUMsaUNBQWlDLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ3BFLE9BQU8sSUFBSSxDQUFDLGlDQUFpQyxDQUFDLHNCQUFzQixDQUFDLENBQUM7Z0JBQ3hFLEtBQUssMEJBQWUsQ0FBQyxRQUFRO29CQUMzQixNQUFNLFFBQVEsR0FBRyxJQUFJLHFDQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDekQsUUFBUSxDQUFDLGlDQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUN0RCxPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEQ7b0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDN0QsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVELCtCQUErQixDQUFDLFNBQTRCO1FBQzFELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDakMsT0FBTyxlQUFLLENBQUMsd0NBQXdDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0JBQWtCLENBQUMsRUFBZ0I7UUFDakMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksaUNBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGtDQUFrQyxDQUFDLEVBQWdCO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLDJEQUE0QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsaUNBQWlDLENBQUMsRUFBZ0I7UUFDaEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkseURBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsMkJBQTJCLENBQUMsRUFBZ0I7UUFDMUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksbURBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw4QkFBOEI7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxpQkFBaUIsQ0FBK0IsRUFBMkIsRUFBRSxPQUFVO1FBQzdGLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFwRkQsOERBb0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXIvdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBTaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BhcHRvcy1sYWJzL3RzLXNkayc7XG5pbXBvcnQgeyBUcmFuc2ZlclRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2ZlclRyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEZ1bmdpYmxlQXNzZXRUcmFuc2ZlciB9IGZyb20gJy4vdHJhbnNhY3Rpb24vZnVuZ2libGVBc3NldFRyYW5zZmVyJztcbmltcG9ydCB7IEZ1bmdpYmxlQXNzZXRUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci9mdW5naWJsZUFzc2V0VHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IERpZ2l0YWxBc3NldFRyYW5zZmVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbi9kaWdpdGFsQXNzZXRUcmFuc2Zlcic7XG5pbXBvcnQgeyBEaWdpdGFsQXNzZXRUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci9kaWdpdGFsQXNzZXRUcmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgQ3VzdG9tVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL2N1c3RvbVRyYW5zYWN0aW9uJztcbmltcG9ydCB7IEN1c3RvbVRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL2N1c3RvbVRyYW5zYWN0aW9uQnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbShzaWduZWRSYXdUeG46IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNpZ25lZFR4biA9IFRyYW5zYWN0aW9uLmRlc2VyaWFsaXplU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkUmF3VHhuKTtcbiAgICAgIGNvbnN0IHR4blR5cGUgPSB0aGlzLmdldFRyYW5zYWN0aW9uVHlwZUZyb21TaWduZWRUeG4oc2lnbmVkVHhuKTtcblxuICAgICAgc3dpdGNoICh0eG5UeXBlKSB7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmQ6XG4gICAgICAgICAgY29uc3QgdHJhbnNmZXJUeCA9IG5ldyBUcmFuc2ZlclRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIHRyYW5zZmVyVHguZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4bik7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyKHRyYW5zZmVyVHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kVG9rZW46XG4gICAgICAgICAgY29uc3QgZnVuZ2libGVUcmFuc2ZlclRva2VuVHggPSBuZXcgRnVuZ2libGVBc3NldFRyYW5zZmVyKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIGZ1bmdpYmxlVHJhbnNmZXJUb2tlblR4LmZyb21EZXNlcmlhbGl6ZWRTaWduZWRUcmFuc2FjdGlvbihzaWduZWRUeG4pO1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldEZ1bmdpYmxlQXNzZXRUcmFuc2FjdGlvbkJ1aWxkZXIoZnVuZ2libGVUcmFuc2ZlclRva2VuVHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kTkZUOlxuICAgICAgICAgIGNvbnN0IGRpZ2l0YWxBc3NldFRyYW5zZmVyVHggPSBuZXcgRGlnaXRhbEFzc2V0VHJhbnNmZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gICAgICAgICAgZGlnaXRhbEFzc2V0VHJhbnNmZXJUeC5mcm9tRGVzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkVHhuKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXREaWdpdGFsQXNzZXRUcmFuc2FjdGlvbkJ1aWxkZXIoZGlnaXRhbEFzc2V0VHJhbnNmZXJUeCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkN1c3RvbVR4OlxuICAgICAgICAgIGNvbnN0IGN1c3RvbVR4ID0gbmV3IEN1c3RvbVRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIGN1c3RvbVR4LmZyb21EZXNlcmlhbGl6ZWRTaWduZWRUcmFuc2FjdGlvbihzaWduZWRUeG4pO1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldEN1c3RvbVRyYW5zYWN0aW9uQnVpbGRlcihjdXN0b21UeCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICBnZXRUcmFuc2FjdGlvblR5cGVGcm9tU2lnbmVkVHhuKHNpZ25lZFR4bjogU2lnbmVkVHJhbnNhY3Rpb24pOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIGNvbnN0IHJhd1R4biA9IHNpZ25lZFR4bi5yYXdfdHhuO1xuICAgIHJldHVybiB1dGlscy5nZXRUcmFuc2FjdGlvblR5cGVGcm9tVHJhbnNhY3Rpb25QYXlsb2FkKHJhd1R4bi5wYXlsb2FkKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRUcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEZ1bmdpYmxlQXNzZXRUcmFuc2FjdGlvbkJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IEZ1bmdpYmxlQXNzZXRUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgRnVuZ2libGVBc3NldFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0RGlnaXRhbEFzc2V0VHJhbnNhY3Rpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBEaWdpdGFsQXNzZXRUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgRGlnaXRhbEFzc2V0VHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBjdXN0b20gdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKlxuICAgKiBAcGFyYW0gdHggLSBPcHRpb25hbCB0cmFuc2FjdGlvbiB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyIHdpdGhcbiAgICogQHJldHVybnMgQSBjdXN0b20gdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgZ2V0Q3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgQ3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXIgd2l0aCB0aGUgZ2l2ZW4gdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25CdWlsZGVyfSBidWlsZGVyIC0gdGhlIGJ1aWxkZXIgdG8gYmUgaW5pdGlhbGl6ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gdGhlIGJ1aWxkZXIgaW5pdGlhbGl6ZWRcbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uIHwgdW5kZWZpbmVkLCBidWlsZGVyOiBUKTogVCB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,qBAAqB,EAErB,iBAAiB,EACjB,kBAAkB,EAGnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,SAAS,EAIT,oBAAoB,EACpB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAErD,qBAAa,KAAM,YAAW,SAAS;IACrC,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,kBAAkB;IAClB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC,kBAAkB;IAClB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAItC,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKlD,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAOlD,wCAAwC,CAAC,OAAO,EAAE,kBAAkB,GAAG,eAAe;IAuBtF,0BAA0B,CACxB,UAAU,EAAE,qBAAqB,EACjC,SAAS,EAAE,qBAAqB,GAC/B,0BAA0B;IA0B7B,eAAe,CAAC,UAAU,EAAE,qBAAqB,EAAE,SAAS,EAAE,qBAAqB,GAAG,oBAAoB,EAAE;IAW5G,4BAA4B,CAAC,cAAc,EAAE,MAAM,GAAG,iBAAiB;IAMvE,+BAA+B,CAAC,eAAe,EAAE,UAAU,GAAG,MAAM,EAAE;IAMtE,oBAAoB,CAAC,eAAe,EAAE,UAAU,GAAG,UAAU,EAAE;IAM/D,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIjD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInC;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAInC,wBAAwB,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM;IAQvD;;;OAGG;IACH,yBAAyB,IAAI,MAAM;CAGpC;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,qBAAqB,EAErB,iBAAiB,EACjB,kBAAkB,EAGnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,SAAS,EAIT,oBAAoB,EACpB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAErD,qBAAa,KAAM,YAAW,SAAS;IACrC,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,kBAAkB;IAClB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC,kBAAkB;IAClB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAItC,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKlD,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAOlD,wCAAwC,CAAC,OAAO,EAAE,kBAAkB,GAAG,eAAe;IAwBtF,0BAA0B,CACxB,UAAU,EAAE,qBAAqB,EACjC,SAAS,EAAE,qBAAqB,GAC/B,0BAA0B;IA0B7B,eAAe,CAAC,UAAU,EAAE,qBAAqB,EAAE,SAAS,EAAE,qBAAqB,GAAG,oBAAoB,EAAE;IAW5G,4BAA4B,CAAC,cAAc,EAAE,MAAM,GAAG,iBAAiB;IAMvE,+BAA+B,CAAC,eAAe,EAAE,UAAU,GAAG,MAAM,EAAE;IAMtE,oBAAoB,CAAC,eAAe,EAAE,UAAU,GAAG,UAAU,EAAE;IAM/D,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIjD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInC;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAInC,wBAAwB,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM;IAQvD;;;OAGG;IACH,yBAAyB,IAAI,MAAM;CAGpC;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}
@@ -62,7 +62,8 @@ class Utils {
62
62
  case constants_1.DIGITAL_ASSET_TRANSFER_FUNCTION:
63
63
  return sdk_core_1.TransactionType.SendNFT;
64
64
  default:
65
- throw new sdk_core_1.InvalidTransactionError(`Invalid transaction: unable to fetch transaction type ${moduleIdentifier}`);
65
+ // For any other function calls, treat as a custom transaction
66
+ return sdk_core_1.TransactionType.CustomTx;
66
67
  }
67
68
  }
68
69
  fetchAndValidateRecipients(addressArg, amountArg) {
@@ -146,4 +147,4 @@ class Utils {
146
147
  exports.Utils = Utils;
147
148
  const utils = new Utils();
148
149
  exports.default = utils;
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLCtDQVc0QjtBQUM1QixtREFPOEI7QUFDOUIsMkNBYXFCO0FBQ3JCLGdFQUFxQztBQUdyQyxNQUFhLEtBQUs7SUFDaEIsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsOEJBQWtCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsK0JBQW1CLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQixDQUFDLEdBQVc7UUFDM0IsT0FBTyxJQUFBLGtDQUF1QixFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixPQUFPLElBQUEsa0NBQXVCLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixnQkFBZ0IsQ0FBQyxTQUFpQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLGdDQUFvQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixvQkFBb0IsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUscUNBQXlCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWEsRUFBRSxNQUFjO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLHVCQUF1QixNQUFNLElBQUksQ0FBQyxDQUFDO1FBQzVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxL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U0FBUyxDQUFDLENBQUM7UUFDNUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQzFDLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCx5QkFBeUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsR0FBRyw0QkFBZ0IsQ0FBQztJQUN6RCxDQUFDO0NBQ0Y7QUE1SkQsc0JBNEpDO0FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUUxQixrQkFBZSxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBY2NvdW50QWRkcmVzcyxcbiAgQXV0aGVudGljYXRpb25LZXksXG4gIERlc2VyaWFsaXplcixcbiAgRWQyNTUxOVB1YmxpY0tleSxcbiAgRW50cnlGdW5jdGlvbkFyZ3VtZW50LFxuICBIZXgsXG4gIFNpZ25lZFRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvblBheWxvYWQsXG4gIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24sXG4gIFU2NCxcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7XG4gIEJhc2VVdGlscyxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIGlzVmFsaWRFZDI1NTE5UHVibGljS2V5LFxuICBpc1ZhbGlkRWQyNTUxOVNlY3JldEtleSxcbiAgVHJhbnNhY3Rpb25SZWNpcGllbnQsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgQVBUX0FERFJFU1NfTEVOR1RILFxuICBBUFRfQkxPQ0tfSURfTEVOR1RILFxuICBBUFRfU0lHTkFUVVJFX0xFTkdUSCxcbiAgQVBUX1RSQU5TQUNUSU9OX0lEX0xFTkdUSCxcbiAgQ09JTl9CQVRDSF9UUkFOU0ZFUl9GVU5DVElPTixcbiAgQ09JTl9UUkFOU0ZFUl9GVU5DVElPTixcbiAgRElHSVRBTF9BU1NFVF9UUkFOU0ZFUl9GVU5DVElPTixcbiAgRlVOR0lCTEVfQVNTRVRfVFJBTlNGRVJfRlVOQ1RJT04sXG4gIFNFQ09ORFNfUEVSX1dFRUssXG4gIEFERFJFU1NfQllURVNfTEVOR1RILFxuICBBTU9VTlRfQllURVNfTEVOR1RILFxuICBGVU5HSUJMRV9BU1NFVF9CQVRDSF9UUkFOU0ZFUl9GVU5DVElPTixcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgUmVjaXBpZW50c1ZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IGNsYXNzIFV0aWxzIGltcGxlbWVudHMgQmFzZVV0aWxzIHtcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRIZXgoYWRkcmVzcywgQVBUX0FERFJFU1NfTEVOR1RIKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQmxvY2tJZChoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkSGV4KGhhc2gsIEFQVF9CTE9DS19JRF9MRU5HVEgpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRQcml2YXRlS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzVmFsaWRFZDI1NTE5U2VjcmV0S2V5KGtleSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFB1YmxpY0tleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkRWQyNTUxOVB1YmxpY0tleShrZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRTaWduYXR1cmUoc2lnbmF0dXJlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkSGV4KHNpZ25hdHVyZSwgQVBUX1NJR05BVFVSRV9MRU5HVEgpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRIZXgodHhJZCwgQVBUX1RSQU5TQUNUSU9OX0lEX0xFTkdUSCk7XG4gIH1cblxuICBpc1ZhbGlkSGV4KHZhbHVlOiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBeKDB4fDBYKVthLWZBLUYwLTldeyR7bGVuZ3RofX0kYCk7XG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpO1xuICB9XG5cbiAgZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkocHVibGljS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFwdG9zUHVibGljS2V5ID0gbmV3IEVkMjU1MTlQdWJsaWNLZXkoQnVmZmVyLmZyb20ocHVibGljS2V5LCAnaGV4JykpO1xuICAgIGNvbnN0IGF1dGhLZXkgPSBBdXRoZW50aWNhdGlvbktleS5mcm9tUHVibGljS2V5KHsgcHVibGljS2V5OiBhcHRvc1B1YmxpY0tleSB9KTtcbiAgICBjb25zdCBhY2NvdW50QWRkcmVzcyA9IGF1dGhLZXkuZGVyaXZlZEFkZHJlc3MoKTtcbiAgICByZXR1cm4gYWNjb3VudEFkZHJlc3MudG9TdHJpbmcoKTtcbiAgfVxuXG4gIGdldFRyYW5zYWN0aW9uVHlwZUZyb21UcmFuc2FjdGlvblBheWxvYWQocGF5bG9hZDogVHJhbnNhY3Rpb25QYXlsb2FkKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICBpZiAoIShwYXlsb2FkIGluc3RhbmNlb2YgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBQYXlsb2FkOiBFeHBlY3RlZCBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uJyk7XG4gICAgfVxuICAgIGNvbnN0IGVudHJ5RnVuY3Rpb24gPSBwYXlsb2FkLmVudHJ5RnVuY3Rpb247XG4gICAgY29uc3QgbW9kdWxlQWRkcmVzcyA9IGVudHJ5RnVuY3Rpb24ubW9kdWxlX25hbWUuYWRkcmVzcy50b1N0cmluZygpO1xuICAgIGNvbnN0IG1vZHVsZUlkZW50aWZpZXIgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLm5hbWUuaWRlbnRpZmllcjtcbiAgICBjb25zdCBmdW5jdGlvbklkZW50aWZpZXIgPSBlbnRyeUZ1bmN0aW9uLmZ1bmN0aW9uX25hbWUuaWRlbnRpZmllcjtcbiAgICBjb25zdCB1bmlxdWVJZGVudGlmaWVyID0gYCR7bW9kdWxlQWRkcmVzc306OiR7bW9kdWxlSWRlbnRpZmllcn06OiR7ZnVuY3Rpb25JZGVudGlmaWVyfWA7XG4gICAgc3dpdGNoICh1bmlxdWVJZGVudGlmaWVyKSB7XG4gICAgICBjYXNlIENPSU5fVFJBTlNGRVJfRlVOQ1RJT046XG4gICAgICBjYXNlIENPSU5fQkFUQ0hfVFJBTlNGRVJfRlVOQ1RJT046XG4gICAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgICAgIGNhc2UgRlVOR0lCTEVfQVNTRVRfVFJBTlNGRVJfRlVOQ1RJT046XG4gICAgICBjYXNlIEZVTkdJQkxFX0FTU0VUX0JBVENIX1RSQU5TRkVSX0ZVTkNUSU9OOlxuICAgICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmRUb2tlbjtcbiAgICAgIGNhc2UgRElHSVRBTF9BU1NFVF9UUkFOU0ZFUl9GVU5DVElPTjpcbiAgICAgICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kTkZUO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiB1bmFibGUgdG8gZmV0Y2ggdHJhbnNhY3Rpb24gdHlwZSAke21vZHVsZUlkZW50aWZpZXJ9YCk7XG4gICAgfVxuICB9XG5cbiAgZmV0Y2hBbmRWYWxpZGF0ZVJlY2lwaWVudHMoXG4gICAgYWRkcmVzc0FyZzogRW50cnlGdW5jdGlvbkFyZ3VtZW50LFxuICAgIGFtb3VudEFyZzogRW50cnlGdW5jdGlvbkFyZ3VtZW50XG4gICk6IFJlY2lwaWVudHNWYWxpZGF0aW9uUmVzdWx0IHtcbiAgICBjb25zdCBhZGRyZXNzQnl0ZXMgPSBhZGRyZXNzQXJnLmJjc1RvQnl0ZXMoKTtcbiAgICBjb25zdCBhbW91bnRCeXRlcyA9IGFtb3VudEFyZy5iY3NUb0J5dGVzKCk7XG4gICAgbGV0IGRlc2VyaWFsaXplZEFkZHJlc3Nlczogc3RyaW5nW107XG4gICAgbGV0IGRlc2VyaWFsaXplZEFtb3VudHM6IFVpbnQ4QXJyYXk8QXJyYXlCdWZmZXI+W107XG4gICAgaWYgKGFkZHJlc3NCeXRlcy5sZW5ndGggPiBBRERSRVNTX0JZVEVTX0xFTkdUSCB8fCBhbW91bnRCeXRlcy5sZW5ndGggPiBBTU9VTlRfQllURVNfTEVOR1RIKSB7XG4gICAgICBkZXNlcmlhbGl6ZWRBZGRyZXNzZXMgPSB1dGlscy5kZXNlcmlhbGl6ZUFjY291bnRBZGRyZXNzVmVjdG9yKGFkZHJlc3NCeXRlcyk7XG4gICAgICBkZXNlcmlhbGl6ZWRBbW91bnRzID0gdXRpbHMuZGVzZXJpYWxpemVVNjRWZWN0b3IoYW1vdW50Qnl0ZXMpO1xuICAgICAgaWYgKGRlc2VyaWFsaXplZEFkZHJlc3Nlcy5sZW5ndGggIT09IGRlc2VyaWFsaXplZEFtb3VudHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2ludmFsaWQgcGF5bG9hZCBlbnRyeSBmdW5jdGlvbiBhcmd1bWVudHMgOiBhZGRyZXNzZXMgYW5kIGFtb3VudHMgbGVuZ3RoIG1pc21hdGNoJyk7XG4gICAgICAgIHJldHVybiB7IHJlY2lwaWVudHM6IHsgZGVzZXJpYWxpemVkQWRkcmVzc2VzOiBbXSwgZGVzZXJpYWxpemVkQW1vdW50czogW10gfSwgaXNWYWxpZDogZmFsc2UgfTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZGVzZXJpYWxpemVkQWRkcmVzc2VzID0gW2FkZHJlc3NBcmcudG9TdHJpbmcoKV07XG4gICAgICBkZXNlcmlhbGl6ZWRBbW91bnRzID0gW2Ftb3VudEJ5dGVzXTtcbiAgICB9XG4gICAgY29uc3QgYWxsQWRkcmVzc2VzVmFsaWQgPSBkZXNlcmlhbGl6ZWRBZGRyZXNzZXMuZXZlcnkoKGFkZHJlc3MpID0+IHV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MudG9TdHJpbmcoKSkpO1xuICAgIGNvbnN0IGFsbEFtb3VudHNWYWxpZCA9IGRlc2VyaWFsaXplZEFtb3VudHMuZXZlcnkoKGFtb3VudCkgPT5cbiAgICAgIG5ldyBCaWdOdW1iZXIodXRpbHMuZ2V0QW1vdW50RnJvbVBheWxvYWRBcmdzKGFtb3VudCkpLmlzR3JlYXRlclRoYW4oMClcbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICByZWNpcGllbnRzOiB7IGRlc2VyaWFsaXplZEFkZHJlc3NlcywgZGVzZXJpYWxpemVkQW1vdW50cyB9LFxuICAgICAgaXNWYWxpZDogYWxsQWRkcmVzc2VzVmFsaWQgJiYgYWxsQW1vdW50c1ZhbGlkLFxuICAgIH07XG4gIH1cblxuICBwYXJzZVJlY2lwaWVudHMoYWRkcmVzc0FyZzogRW50cnlGdW5jdGlvbkFyZ3VtZW50LCBhbW91bnRBcmc6IEVudHJ5RnVuY3Rpb25Bcmd1bWVudCk6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10ge1xuICAgIGNvbnN0IHsgcmVjaXBpZW50cywgaXNWYWxpZCB9ID0gdXRpbHMuZmV0Y2hBbmRWYWxpZGF0ZVJlY2lwaWVudHMoYWRkcmVzc0FyZywgYW1vdW50QXJnKTtcbiAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbiByZWNpcGllbnRzJyk7XG4gICAgfVxuICAgIHJldHVybiByZWNpcGllbnRzLmRlc2VyaWFsaXplZEFkZHJlc3Nlcy5tYXAoKGFkZHJlc3MsIGluZGV4KSA9PiAoe1xuICAgICAgYWRkcmVzcyxcbiAgICAgIGFtb3VudDogdXRpbHMuZ2V0QW1vdW50RnJvbVBheWxvYWRBcmdzKHJlY2lwaWVudHMuZGVzZXJpYWxpemVkQW1vdW50c1tpbmRleF0pLFxuICAgIH0pKSBhcyBUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICB9XG5cbiAgZGVzZXJpYWxpemVTaWduZWRUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogU2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4bkJ5dGVzID0gSGV4LmZyb21IZXhTdHJpbmcocmF3VHJhbnNhY3Rpb24pLnRvVWludDhBcnJheSgpO1xuICAgIGNvbnN0IGRlc2VyaWFsaXplciA9IG5ldyBEZXNlcmlhbGl6ZXIodHhuQnl0ZXMpO1xuICAgIHJldHVybiBkZXNlcmlhbGl6ZXIuZGVzZXJpYWxpemUoU2lnbmVkVHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgZGVzZXJpYWxpemVBY2NvdW50QWRkcmVzc1ZlY3RvcihzZXJpYWxpemVkQnl0ZXM6IFVpbnQ4QXJyYXkpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgZGVzZXJpYWxpemVyID0gbmV3IERlc2VyaWFsaXplcihzZXJpYWxpemVkQnl0ZXMpO1xuICAgIGNvbnN0IGRlc2VyaWFsaXplZEFkZHJlc3NlcyA9IGRlc2VyaWFsaXplci5kZXNlcmlhbGl6ZVZlY3RvcihBY2NvdW50QWRkcmVzcyk7XG4gICAgcmV0dXJuIGRlc2VyaWFsaXplZEFkZHJlc3Nlcy5tYXAoKGFkZHJlc3MpID0+IGFkZHJlc3MudG9TdHJpbmcoKSk7XG4gIH1cblxuICBkZXNlcmlhbGl6ZVU2NFZlY3RvcihzZXJpYWxpemVkQnl0ZXM6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5W10ge1xuICAgIGNvbnN0IGRlc2VyaWFsaXplciA9IG5ldyBEZXNlcmlhbGl6ZXIoc2VyaWFsaXplZEJ5dGVzKTtcbiAgICBjb25zdCBkZXNlcmlhbGl6ZWRBbW91bnRzID0gZGVzZXJpYWxpemVyLmRlc2VyaWFsaXplVmVjdG9yKFU2NCk7XG4gICAgcmV0dXJuIGRlc2VyaWFsaXplZEFtb3VudHMubWFwKChhbW91bnQpID0+IGFtb3VudC5iY3NUb0J5dGVzKCkpO1xuICB9XG5cbiAgZ2V0QnVmZmVyRnJvbUhleFN0cmluZyhoZXhTdHJpbmc6IHN0cmluZyk6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEhleC5mcm9tSGV4U3RyaW5nKGhleFN0cmluZykudG9VaW50OEFycmF5KCkpO1xuICB9XG5cbiAgY2FzdFRvTnVtYmVyKHZhbHVlOiBiaWdpbnQpOiBudW1iZXIge1xuICAgIHJldHVybiBuZXcgQmlnTnVtYmVyKHZhbHVlLnRvU3RyaW5nKCkpLnRvTnVtYmVyKCk7XG4gIH1cblxuICAvKipcbiAgICogU3RyaXAgaGV4IHByZWZpeFxuICAgKiBAcGFyYW0gc3RyXG4gICAqIEByZXR1cm5zIGhleCBzdHJpbmcgd2l0aG91dCAweCBwcmVmaXhcbiAgICovXG4gIHN0cmlwSGV4UHJlZml4KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL14weC9pLCAnJyk7XG4gIH1cblxuICBnZXRBbW91bnRGcm9tUGF5bG9hZEFyZ3MoYW1vdW50QXJnOiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgICBjb25zdCBhbW91bnRCdWZmZXIgPSBCdWZmZXIuZnJvbShhbW91bnRBcmcpO1xuICAgIGNvbnN0IGxvdyA9IEJpZ0ludChhbW91bnRCdWZmZXIucmVhZFVpbnQzMkxFKCkpO1xuICAgIGNvbnN0IGhpZ2ggPSBCaWdJbnQoYW1vdW50QnVmZmVyLnJlYWRVaW50MzJMRSg0KSk7XG4gICAgY29uc3QgYW1vdW50ID0gKGhpZ2ggPDwgQmlnSW50KDMyKSkgKyBsb3c7XG4gICAgcmV0dXJuIGFtb3VudC50b1N0cmluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIEFwdG9zIHRyYW5zYWN0aW9uIGV4cGlyYXRpb24gdGltZXN0YW1wIGluIHNlY29uZHMuXG4gICAqIEl0IGlzIHNldCB0byAxIHdlZWsgZnJvbSBub3cuXG4gICAqL1xuICBnZXRUeG5FeHBpcmF0aW9uVGltZXN0YW1wKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDFlMykgKyBTRUNPTkRTX1BFUl9XRUVLO1xuICB9XG59XG5cbmNvbnN0IHV0aWxzID0gbmV3IFV0aWxzKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHV0aWxzO1xuIl19
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLCtDQVc0QjtBQUM1QixtREFPOEI7QUFDOUIsMkNBYXFCO0FBQ3JCLGdFQUFxQztBQUdyQyxNQUFhLEtBQUs7SUFDaEIsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsOEJBQWtCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsK0JBQW1CLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQixDQUFDLEdBQVc7UUFDM0IsT0FBTyxJQUFBLGtDQUF1QixFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixPQUFPLElBQUEsa0NBQXVCLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixnQkFBZ0IsQ0FBQyxTQUFpQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLGdDQUFvQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixvQkFBb0IsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUscUNBQXlCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWEsRUFBRSxNQUFjO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLHVCQUF1QixNQUFNLElBQUksQ0FBQyxDQUFDO1FBQzVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsdUJBQXVCLENBQUMsU0FBaUI7UUFDdkMsTUFBTSxjQUFjLEdBQUcsSUFBSSx5QkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sT0FBTyxHQUFHLDBCQUFpQixDQUFDLGFBQWEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNoRCxPQUFPLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsd0NBQXdDLENBQUMsT0FBMkI7UUFDbEUsSUFBSSxDQUFDLENBQUMsT0FBTyxZQUFZLHdDQUErQixDQUFDLEVBQUUsQ0FBQztZQUMxRCxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDNUMsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkUsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkUsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUNsRSxNQUFNLGdCQUFnQixHQUFHLEdBQUcsYUFBYSxLQUFLLGdCQUFnQixLQUFLLGtCQUFrQixFQUFFLENBQUM7UUFDeEYsUUFBUSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3pCLEtBQUssa0NBQXNCLENBQUM7WUFDNUIsS0FBSyx3Q0FBNEI7Z0JBQy9CLE9BQU8sMEJBQWUsQ0FBQyxJQUFJLENBQUM7WUFDOUIsS0FBSyw0Q0FBZ0MsQ0FBQztZQUN0QyxLQUFLLGtEQUFzQztnQkFDekMsT0FBTywwQkFBZSxDQUFDLFNBQVMsQ0FBQztZQUNuQyxLQUFLLDJDQUErQjtnQkFDbEMsT0FBTywwQkFBZSxDQUFDLE9BQU8sQ0FBQztZQUNqQztnQkFDRSw4REFBOEQ7Z0JBQzlELE9BQU8sMEJBQWUsQ0FBQyxRQUFRLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCwwQkFBMEIsQ0FDeEIsVUFBaUMsRUFDakMsU0FBZ0M7UUFFaEMsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzQyxJQUFJLHFCQUErQixDQUFDO1FBQ3BDLElBQUksbUJBQThDLENBQUM7UUFDbkQsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLGdDQUFvQixJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsK0JBQW1CLEVBQUUsQ0FBQztZQUMzRixxQkFBcUIsR0FBRyxLQUFLLENBQUMsK0JBQStCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDNUUsbUJBQW1CLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzlELElBQUkscUJBQXFCLENBQUMsTUFBTSxLQUFLLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNoRSxPQUFPLENBQUMsS0FBSyxDQUFDLGtGQUFrRixDQUFDLENBQUM7Z0JBQ2xHLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2hHLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLHFCQUFxQixHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDaEQsbUJBQW1CLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsTUFBTSxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3RyxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUMzRCxJQUFJLHNCQUFTLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUN2RSxDQUFDO1FBQ0YsT0FBTztZQUNMLFVBQVUsRUFBRSxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFO1lBQzFELE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxlQUFlO1NBQzlDLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLFVBQWlDLEVBQUUsU0FBZ0M7UUFDakYsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUMsMEJBQTBCLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELE9BQU87WUFDUCxNQUFNLEVBQUUsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5RSxDQUFDLENBQTJCLENBQUM7SUFDaEMsQ0FBQztJQUVELDRCQUE0QixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sUUFBUSxHQUFHLFlBQUcsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxxQkFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQywwQkFBaUIsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxlQUEyQjtRQUN6RCxNQUFNLFlBQVksR0FBRyxJQUFJLHFCQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkQsTUFBTSxxQkFBcUIsR0FBRyxZQUFZLENBQUMsaUJBQWlCLENBQUMsdUJBQWMsQ0FBQyxDQUFDO1FBQzdFLE9BQU8scUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsZUFBMkI7UUFDOUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxxQkFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFlBQUcsQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsc0JBQXNCLENBQUMsU0FBaUI7UUFDdEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQUcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsT0FBTyxJQUFJLHNCQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsR0FBVztRQUN4QixPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxTQUFxQjtRQUM1QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUMxQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gseUJBQXlCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsNEJBQWdCLENBQUM7SUFDekQsQ0FBQztDQUNGO0FBN0pELHNCQTZKQztBQUVELE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFFMUIsa0JBQWUsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWNjb3VudEFkZHJlc3MsXG4gIEF1dGhlbnRpY2F0aW9uS2V5LFxuICBEZXNlcmlhbGl6ZXIsXG4gIEVkMjU1MTlQdWJsaWNLZXksXG4gIEVudHJ5RnVuY3Rpb25Bcmd1bWVudCxcbiAgSGV4LFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25QYXlsb2FkLFxuICBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uLFxuICBVNjQsXG59IGZyb20gJ0BhcHRvcy1sYWJzL3RzLXNkayc7XG5pbXBvcnQge1xuICBCYXNlVXRpbHMsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBpc1ZhbGlkRWQyNTUxOVB1YmxpY0tleSxcbiAgaXNWYWxpZEVkMjU1MTlTZWNyZXRLZXksXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50LFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7XG4gIEFQVF9BRERSRVNTX0xFTkdUSCxcbiAgQVBUX0JMT0NLX0lEX0xFTkdUSCxcbiAgQVBUX1NJR05BVFVSRV9MRU5HVEgsXG4gIEFQVF9UUkFOU0FDVElPTl9JRF9MRU5HVEgsXG4gIENPSU5fQkFUQ0hfVFJBTlNGRVJfRlVOQ1RJT04sXG4gIENPSU5fVFJBTlNGRVJfRlVOQ1RJT04sXG4gIERJR0lUQUxfQVNTRVRfVFJBTlNGRVJfRlVOQ1RJT04sXG4gIEZVTkdJQkxFX0FTU0VUX1RSQU5TRkVSX0ZVTkNUSU9OLFxuICBTRUNPTkRTX1BFUl9XRUVLLFxuICBBRERSRVNTX0JZVEVTX0xFTkdUSCxcbiAgQU1PVU5UX0JZVEVTX0xFTkdUSCxcbiAgRlVOR0lCTEVfQVNTRVRfQkFUQ0hfVFJBTlNGRVJfRlVOQ1RJT04sXG59IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IFJlY2lwaWVudHNWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnLi9pZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBVdGlscyBpbXBsZW1lbnRzIEJhc2VVdGlscyB7XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkSGV4KGFkZHJlc3MsIEFQVF9BRERSRVNTX0xFTkdUSCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZEJsb2NrSWQoaGFzaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleChoYXNoLCBBUFRfQkxPQ0tfSURfTEVOR1RIKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHJpdmF0ZUtleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkRWQyNTUxOVNlY3JldEtleShrZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRQdWJsaWNLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNWYWxpZEVkMjU1MTlQdWJsaWNLZXkoa2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkU2lnbmF0dXJlKHNpZ25hdHVyZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleChzaWduYXR1cmUsIEFQVF9TSUdOQVRVUkVfTEVOR1RIKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkSGV4KHR4SWQsIEFQVF9UUkFOU0FDVElPTl9JRF9MRU5HVEgpO1xuICB9XG5cbiAgaXNWYWxpZEhleCh2YWx1ZTogc3RyaW5nLCBsZW5ndGg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChgXigweHwwWClbYS1mQS1GMC05XXske2xlbmd0aH19JGApO1xuICAgIHJldHVybiByZWdleC50ZXN0KHZhbHVlKTtcbiAgfVxuXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YmxpY0tleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhcHRvc1B1YmxpY0tleSA9IG5ldyBFZDI1NTE5UHVibGljS2V5KEJ1ZmZlci5mcm9tKHB1YmxpY0tleSwgJ2hleCcpKTtcbiAgICBjb25zdCBhdXRoS2V5ID0gQXV0aGVudGljYXRpb25LZXkuZnJvbVB1YmxpY0tleSh7IHB1YmxpY0tleTogYXB0b3NQdWJsaWNLZXkgfSk7XG4gICAgY29uc3QgYWNjb3VudEFkZHJlc3MgPSBhdXRoS2V5LmRlcml2ZWRBZGRyZXNzKCk7XG4gICAgcmV0dXJuIGFjY291bnRBZGRyZXNzLnRvU3RyaW5nKCk7XG4gIH1cblxuICBnZXRUcmFuc2FjdGlvblR5cGVGcm9tVHJhbnNhY3Rpb25QYXlsb2FkKHBheWxvYWQ6IFRyYW5zYWN0aW9uUGF5bG9hZCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgaWYgKCEocGF5bG9hZCBpbnN0YW5jZW9mIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgUGF5bG9hZDogRXhwZWN0ZWQgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbicpO1xuICAgIH1cbiAgICBjb25zdCBlbnRyeUZ1bmN0aW9uID0gcGF5bG9hZC5lbnRyeUZ1bmN0aW9uO1xuICAgIGNvbnN0IG1vZHVsZUFkZHJlc3MgPSBlbnRyeUZ1bmN0aW9uLm1vZHVsZV9uYW1lLmFkZHJlc3MudG9TdHJpbmcoKTtcbiAgICBjb25zdCBtb2R1bGVJZGVudGlmaWVyID0gZW50cnlGdW5jdGlvbi5tb2R1bGVfbmFtZS5uYW1lLmlkZW50aWZpZXI7XG4gICAgY29uc3QgZnVuY3Rpb25JZGVudGlmaWVyID0gZW50cnlGdW5jdGlvbi5mdW5jdGlvbl9uYW1lLmlkZW50aWZpZXI7XG4gICAgY29uc3QgdW5pcXVlSWRlbnRpZmllciA9IGAke21vZHVsZUFkZHJlc3N9Ojoke21vZHVsZUlkZW50aWZpZXJ9Ojoke2Z1bmN0aW9uSWRlbnRpZmllcn1gO1xuICAgIHN3aXRjaCAodW5pcXVlSWRlbnRpZmllcikge1xuICAgICAgY2FzZSBDT0lOX1RSQU5TRkVSX0ZVTkNUSU9OOlxuICAgICAgY2FzZSBDT0lOX0JBVENIX1RSQU5TRkVSX0ZVTkNUSU9OOlxuICAgICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gICAgICBjYXNlIEZVTkdJQkxFX0FTU0VUX1RSQU5TRkVSX0ZVTkNUSU9OOlxuICAgICAgY2FzZSBGVU5HSUJMRV9BU1NFVF9CQVRDSF9UUkFOU0ZFUl9GVU5DVElPTjpcbiAgICAgICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kVG9rZW47XG4gICAgICBjYXNlIERJR0lUQUxfQVNTRVRfVFJBTlNGRVJfRlVOQ1RJT046XG4gICAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZE5GVDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIC8vIEZvciBhbnkgb3RoZXIgZnVuY3Rpb24gY2FsbHMsIHRyZWF0IGFzIGEgY3VzdG9tIHRyYW5zYWN0aW9uXG4gICAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQ3VzdG9tVHg7XG4gICAgfVxuICB9XG5cbiAgZmV0Y2hBbmRWYWxpZGF0ZVJlY2lwaWVudHMoXG4gICAgYWRkcmVzc0FyZzogRW50cnlGdW5jdGlvbkFyZ3VtZW50LFxuICAgIGFtb3VudEFyZzogRW50cnlGdW5jdGlvbkFyZ3VtZW50XG4gICk6IFJlY2lwaWVudHNWYWxpZGF0aW9uUmVzdWx0IHtcbiAgICBjb25zdCBhZGRyZXNzQnl0ZXMgPSBhZGRyZXNzQXJnLmJjc1RvQnl0ZXMoKTtcbiAgICBjb25zdCBhbW91bnRCeXRlcyA9IGFtb3VudEFyZy5iY3NUb0J5dGVzKCk7XG4gICAgbGV0IGRlc2VyaWFsaXplZEFkZHJlc3Nlczogc3RyaW5nW107XG4gICAgbGV0IGRlc2VyaWFsaXplZEFtb3VudHM6IFVpbnQ4QXJyYXk8QXJyYXlCdWZmZXI+W107XG4gICAgaWYgKGFkZHJlc3NCeXRlcy5sZW5ndGggPiBBRERSRVNTX0JZVEVTX0xFTkdUSCB8fCBhbW91bnRCeXRlcy5sZW5ndGggPiBBTU9VTlRfQllURVNfTEVOR1RIKSB7XG4gICAgICBkZXNlcmlhbGl6ZWRBZGRyZXNzZXMgPSB1dGlscy5kZXNlcmlhbGl6ZUFjY291bnRBZGRyZXNzVmVjdG9yKGFkZHJlc3NCeXRlcyk7XG4gICAgICBkZXNlcmlhbGl6ZWRBbW91bnRzID0gdXRpbHMuZGVzZXJpYWxpemVVNjRWZWN0b3IoYW1vdW50Qnl0ZXMpO1xuICAgICAgaWYgKGRlc2VyaWFsaXplZEFkZHJlc3Nlcy5sZW5ndGggIT09IGRlc2VyaWFsaXplZEFtb3VudHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2ludmFsaWQgcGF5bG9hZCBlbnRyeSBmdW5jdGlvbiBhcmd1bWVudHMgOiBhZGRyZXNzZXMgYW5kIGFtb3VudHMgbGVuZ3RoIG1pc21hdGNoJyk7XG4gICAgICAgIHJldHVybiB7IHJlY2lwaWVudHM6IHsgZGVzZXJpYWxpemVkQWRkcmVzc2VzOiBbXSwgZGVzZXJpYWxpemVkQW1vdW50czogW10gfSwgaXNWYWxpZDogZmFsc2UgfTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZGVzZXJpYWxpemVkQWRkcmVzc2VzID0gW2FkZHJlc3NBcmcudG9TdHJpbmcoKV07XG4gICAgICBkZXNlcmlhbGl6ZWRBbW91bnRzID0gW2Ftb3VudEJ5dGVzXTtcbiAgICB9XG4gICAgY29uc3QgYWxsQWRkcmVzc2VzVmFsaWQgPSBkZXNlcmlhbGl6ZWRBZGRyZXNzZXMuZXZlcnkoKGFkZHJlc3MpID0+IHV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MudG9TdHJpbmcoKSkpO1xuICAgIGNvbnN0IGFsbEFtb3VudHNWYWxpZCA9IGRlc2VyaWFsaXplZEFtb3VudHMuZXZlcnkoKGFtb3VudCkgPT5cbiAgICAgIG5ldyBCaWdOdW1iZXIodXRpbHMuZ2V0QW1vdW50RnJvbVBheWxvYWRBcmdzKGFtb3VudCkpLmlzR3JlYXRlclRoYW4oMClcbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICByZWNpcGllbnRzOiB7IGRlc2VyaWFsaXplZEFkZHJlc3NlcywgZGVzZXJpYWxpemVkQW1vdW50cyB9LFxuICAgICAgaXNWYWxpZDogYWxsQWRkcmVzc2VzVmFsaWQgJiYgYWxsQW1vdW50c1ZhbGlkLFxuICAgIH07XG4gIH1cblxuICBwYXJzZVJlY2lwaWVudHMoYWRkcmVzc0FyZzogRW50cnlGdW5jdGlvbkFyZ3VtZW50LCBhbW91bnRBcmc6IEVudHJ5RnVuY3Rpb25Bcmd1bWVudCk6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10ge1xuICAgIGNvbnN0IHsgcmVjaXBpZW50cywgaXNWYWxpZCB9ID0gdXRpbHMuZmV0Y2hBbmRWYWxpZGF0ZVJlY2lwaWVudHMoYWRkcmVzc0FyZywgYW1vdW50QXJnKTtcbiAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbiByZWNpcGllbnRzJyk7XG4gICAgfVxuICAgIHJldHVybiByZWNpcGllbnRzLmRlc2VyaWFsaXplZEFkZHJlc3Nlcy5tYXAoKGFkZHJlc3MsIGluZGV4KSA9PiAoe1xuICAgICAgYWRkcmVzcyxcbiAgICAgIGFtb3VudDogdXRpbHMuZ2V0QW1vdW50RnJvbVBheWxvYWRBcmdzKHJlY2lwaWVudHMuZGVzZXJpYWxpemVkQW1vdW50c1tpbmRleF0pLFxuICAgIH0pKSBhcyBUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICB9XG5cbiAgZGVzZXJpYWxpemVTaWduZWRUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogU2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4bkJ5dGVzID0gSGV4LmZyb21IZXhTdHJpbmcocmF3VHJhbnNhY3Rpb24pLnRvVWludDhBcnJheSgpO1xuICAgIGNvbnN0IGRlc2VyaWFsaXplciA9IG5ldyBEZXNlcmlhbGl6ZXIodHhuQnl0ZXMpO1xuICAgIHJldHVybiBkZXNlcmlhbGl6ZXIuZGVzZXJpYWxpemUoU2lnbmVkVHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgZGVzZXJpYWxpemVBY2NvdW50QWRkcmVzc1ZlY3RvcihzZXJpYWxpemVkQnl0ZXM6IFVpbnQ4QXJyYXkpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgZGVzZXJpYWxpemVyID0gbmV3IERlc2VyaWFsaXplcihzZXJpYWxpemVkQnl0ZXMpO1xuICAgIGNvbnN0IGRlc2VyaWFsaXplZEFkZHJlc3NlcyA9IGRlc2VyaWFsaXplci5kZXNlcmlhbGl6ZVZlY3RvcihBY2NvdW50QWRkcmVzcyk7XG4gICAgcmV0dXJuIGRlc2VyaWFsaXplZEFkZHJlc3Nlcy5tYXAoKGFkZHJlc3MpID0+IGFkZHJlc3MudG9TdHJpbmcoKSk7XG4gIH1cblxuICBkZXNlcmlhbGl6ZVU2NFZlY3RvcihzZXJpYWxpemVkQnl0ZXM6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5W10ge1xuICAgIGNvbnN0IGRlc2VyaWFsaXplciA9IG5ldyBEZXNlcmlhbGl6ZXIoc2VyaWFsaXplZEJ5dGVzKTtcbiAgICBjb25zdCBkZXNlcmlhbGl6ZWRBbW91bnRzID0gZGVzZXJpYWxpemVyLmRlc2VyaWFsaXplVmVjdG9yKFU2NCk7XG4gICAgcmV0dXJuIGRlc2VyaWFsaXplZEFtb3VudHMubWFwKChhbW91bnQpID0+IGFtb3VudC5iY3NUb0J5dGVzKCkpO1xuICB9XG5cbiAgZ2V0QnVmZmVyRnJvbUhleFN0cmluZyhoZXhTdHJpbmc6IHN0cmluZyk6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEhleC5mcm9tSGV4U3RyaW5nKGhleFN0cmluZykudG9VaW50OEFycmF5KCkpO1xuICB9XG5cbiAgY2FzdFRvTnVtYmVyKHZhbHVlOiBiaWdpbnQpOiBudW1iZXIge1xuICAgIHJldHVybiBuZXcgQmlnTnVtYmVyKHZhbHVlLnRvU3RyaW5nKCkpLnRvTnVtYmVyKCk7XG4gIH1cblxuICAvKipcbiAgICogU3RyaXAgaGV4IHByZWZpeFxuICAgKiBAcGFyYW0gc3RyXG4gICAqIEByZXR1cm5zIGhleCBzdHJpbmcgd2l0aG91dCAweCBwcmVmaXhcbiAgICovXG4gIHN0cmlwSGV4UHJlZml4KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL14weC9pLCAnJyk7XG4gIH1cblxuICBnZXRBbW91bnRGcm9tUGF5bG9hZEFyZ3MoYW1vdW50QXJnOiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgICBjb25zdCBhbW91bnRCdWZmZXIgPSBCdWZmZXIuZnJvbShhbW91bnRBcmcpO1xuICAgIGNvbnN0IGxvdyA9IEJpZ0ludChhbW91bnRCdWZmZXIucmVhZFVpbnQzMkxFKCkpO1xuICAgIGNvbnN0IGhpZ2ggPSBCaWdJbnQoYW1vdW50QnVmZmVyLnJlYWRVaW50MzJMRSg0KSk7XG4gICAgY29uc3QgYW1vdW50ID0gKGhpZ2ggPDwgQmlnSW50KDMyKSkgKyBsb3c7XG4gICAgcmV0dXJuIGFtb3VudC50b1N0cmluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIEFwdG9zIHRyYW5zYWN0aW9uIGV4cGlyYXRpb24gdGltZXN0YW1wIGluIHNlY29uZHMuXG4gICAqIEl0IGlzIHNldCB0byAxIHdlZWsgZnJvbSBub3cuXG4gICAqL1xuICBnZXRUeG5FeHBpcmF0aW9uVGltZXN0YW1wKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDFlMykgKyBTRUNPTkRTX1BFUl9XRUVLO1xuICB9XG59XG5cbmNvbnN0IHV0aWxzID0gbmV3IFV0aWxzKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHV0aWxzO1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/sdk-coin-apt",
3
- "version": "1.0.1-beta.600",
3
+ "version": "1.0.1-beta.602",
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.1160",
45
- "@bitgo-beta/statics": "15.1.1-beta.1163",
44
+ "@bitgo-beta/sdk-core": "8.2.1-beta.1162",
45
+ "@bitgo-beta/statics": "15.1.1-beta.1165",
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.1159",
51
- "@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.1152",
50
+ "@bitgo-beta/sdk-api": "1.10.1-beta.1161",
51
+ "@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.1154",
52
52
  "@bitgo-beta/sdk-test": "^9.0.9"
53
53
  },
54
- "gitHead": "d95ddb00b35f3e30344c3f0ede729b57b295fc64"
54
+ "gitHead": "787317cd8615e6e2d5a2d69e0eb04276a5fbbafe"
55
55
  }