@bitgo-beta/sdk-coin-flrp 1.0.1-beta.5 → 1.0.1-beta.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"flrp.d.ts","sourceRoot":"","sources":["../../src/flrp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flrp.d.ts","sourceRoot":"","sources":["../../src/flrp.ts"],"names":[],"mappings":"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"}
package/dist/src/flrp.js CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Flrp = void 0;
4
4
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const keyPair_1 = require("./lib/keyPair");
5
6
  class Flrp extends sdk_core_1.BaseCoin {
6
7
  constructor(bitgo, staticsCoin) {
7
8
  super(bitgo);
@@ -52,7 +53,15 @@ class Flrp extends sdk_core_1.BaseCoin {
52
53
  // Use BaseCoin default conversions (baseUnitsToBigUnits / bigUnitsToBaseUnits)
53
54
  // Key methods (stubs)
54
55
  generateKeyPair() {
55
- throw new Error('generateKeyPair not implemented');
56
+ const keyPair = new keyPair_1.KeyPair();
57
+ const keys = keyPair.getKeys();
58
+ if (!keys.prv) {
59
+ throw new Error('Failed to generate private key');
60
+ }
61
+ return {
62
+ pub: keys.pub,
63
+ prv: keys.prv,
64
+ };
56
65
  }
57
66
  generateRootKeyPair() {
58
67
  throw new Error('generateRootKeyPair not implemented');
@@ -172,4 +181,4 @@ class Flrp extends sdk_core_1.BaseCoin {
172
181
  }
173
182
  }
174
183
  exports.Flrp = Flrp;
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxycC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mbHJwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQWtDOEI7QUFJOUIsTUFBYSxJQUFLLFNBQVEsbUJBQVE7SUFHaEMsWUFBc0IsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBQ0QsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFvQixDQUFDO0lBQ2hELENBQUM7SUFDRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsb0ZBQW9GO0lBQ3BGLGdCQUFnQjtJQUNoQixXQUFXO1FBQ1QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0Qsc0JBQXNCO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELHdCQUF3QjtRQUN0QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxtQkFBbUI7UUFDakIsT0FBTyxLQUFLLENB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QUFXO0lBQ2IsQ0FBQztJQUNELGdCQUFnQixDQUFDLE9BQXVCO1FBQ3RDLFdBQVc7SUFDYixDQUFDO0lBQ0QsaUJBQWlCO1FBQ2YsV0FBVztJQUNiLENBQUM7Q0FDRjtBQTlMRCxvQkE4TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlQ29pbixcbiAgQml0R29CYXNlLFxuICBWZXJpZnlBZGRyZXNzT3B0aW9ucyxcbiAgUGFyc2VkVHJhbnNhY3Rpb24sXG4gIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zLFxuICBLZXlQYWlyLFxuICBTaWduVHJhbnNhY3Rpb25PcHRpb25zLFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgSW5pdGlhdGVSZWNvdmVyeU9wdGlvbnMsXG4gIFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMsXG4gIEtleWNoYWluc1RyaXBsZXQsXG4gIFRyYW5zYWN0aW9uUHJlYnVpbGQsXG4gIFByZXNpZ25UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIEZlZUVzdGltYXRlT3B0aW9ucyxcbiAgRGVyaXZlS2V5V2l0aFNlZWRPcHRpb25zLFxuICBBdWRpdEtleVBhcmFtcyxcbiAgUG9wdWxhdGVkSW50ZW50LFxuICBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMsXG4gIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMsXG4gIEJ1aWxkTmZ0VHJhbnNmZXJEYXRhT3B0aW9ucyxcbiAgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0LFxuICBNUENBbGdvcml0aG0sXG4gIFdhbGxldCxcbiAgSUluc2NyaXB0aW9uQnVpbGRlcixcbiAgRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMsXG4gIFZhbGlkTW9mTk9wdGlvbnMsXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgSVRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIFJlY292ZXJUb2tlblRyYW5zYWN0aW9uLFxuICBSZWNvdmVyV2FsbGV0VG9rZW5PcHRpb25zLFxuICBQcmVjcmVhdGVCaXRHb09wdGlvbnMsXG4gIElXYWxsZXQsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiwgQ29pbkZhbWlseSB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5cbmV4cG9ydCBjbGFzcyBGbHJwIGV4dGVuZHMgQmFzZUNvaW4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbyk7XG4gICAgaWYgKCFzdGF0aWNzQ29pbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBzdGF0aWNzQ29pbicpO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IEZscnAoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIGdldENoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLm5hbWU7XG4gIH1cbiAgZ2V0RmFtaWx5KCk6IENvaW5GYW1pbHkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5mYW1pbHkgYXMgQ29pbkZhbWlseTtcbiAgfVxuICBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5mdWxsTmFtZTtcbiAgfVxuICBnZXRCYXNlRmFjdG9yKCk6IG51bWJlciB8IHN0cmluZyB7XG4gICAgcmV0dXJuIE1hdGgucG93KDEwLCB0aGlzLl9zdGF0aWNzQ29pbi5kZWNpbWFsUGxhY2VzKTtcbiAgfVxuXG4gIC8vIFRPRE8gV0lOLTYzMjEsIDYzMjIsIDYzMTg6IEFsbCBiZWxvdyBtZXRob2RzIHdpbGwgYmUgaW1wbGVtZW50ZWQgaW4gY29taW5nIHRpY2tldFxuICAvLyBGZWF0dXJlIGZsYWdzXG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBzdXBwb3J0c01lc3NhZ2VTaWduaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBzdXBwb3J0c1NpZ25pbmdUeXBlZERhdGEoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHN1cHBvcnRzQmxvY2tUYXJnZXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHN1cHBvcnRzTGlnaHRuaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBzdXBwb3J0c0Jsc0RrZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaXNFVk0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQ29udmVyc2lvbnMgKHBsYWNlaG9sZGVyKVxuICAvLyBVc2UgQmFzZUNvaW4gZGVmYXVsdCBjb252ZXJzaW9ucyAoYmFzZVVuaXRzVG9CaWdVbml0cyAvIGJpZ1VuaXRzVG9CYXNlVW5pdHMpXG5cbiAgLy8gS2V5IG1ldGhvZHMgKHN0dWJzKVxuICBnZW5lcmF0ZUtleVBhaXIoKTogS2V5UGFpciB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdnZW5lcmF0ZUtleVBhaXIgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAgZ2VuZXJhdGVSb290S2V5UGFpcigpOiBLZXlQYWlyIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2dlbmVyYXRlUm9vdEtleVBhaXIgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAga2V5SWRzRm9yU2lnbmluZygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIFswLCAxLCAyXTtcbiAgfVxuICBpc1ZhbGlkUHViKF9wdWI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpc1ZhbGlkQWRkcmVzcyhfYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlzVmFsaWRNb2ZOU2V0dXAoX3BhcmFtczogVmFsaWRNb2ZOT3B0aW9ucyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjYW5vbmljYWxBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGFkZHJlc3M7XG4gIH1cbiAgY2hlY2tSZWNpcGllbnQoX3JlY2lwaWVudDogeyBhZGRyZXNzOiBzdHJpbmc7IGFtb3VudDogc3RyaW5nIHwgbnVtYmVyIH0pOiB2b2lkIHtcbiAgICAvKiBuby1vcCAqL1xuICB9XG5cbiAgLy8gVmVyaWZpY2F0aW9uXG4gIGFzeW5jIHZlcmlmeUFkZHJlc3MoX3BhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZlcmlmeUFkZHJlc3Mgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAgYXN5bmMgaXNXYWxsZXRBZGRyZXNzKF9wYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpc1dhbGxldEFkZHJlc3Mgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAgYXN5bmMgdmVyaWZ5VHJhbnNhY3Rpb24oX3BhcmFtczogVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd2ZXJpZnlUcmFuc2FjdGlvbiBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8vIFR4IGxpZmVjeWNsZVxuICBhc3luYyBzaWduVHJhbnNhY3Rpb24oX3BhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+IHtcbiAgICAvLyBUT0RPIFdJTi02MzIwOiBpbXBsZW1lbnQgc2lnblRyYW5zYWN0aW9uXG4gICAgdGhyb3cgbmV3IEVycm9yKCdzaWduVHJhbnNhY3Rpb24gbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAgYXN5bmMgZXhwbGFpblRyYW5zYWN0aW9uKFxuICAgIF9vcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICApOiBQcm9taXNlPElUcmFuc2FjdGlvbkV4cGxhbmF0aW9uPHVua25vd24sIHN0cmluZyB8IG51bWJlcj4gfCB1bmRlZmluZWQ+IHtcbiAgICAvLyBUT0RPIFdJTi02MzIwOiBpbXBsZW1lbnQgc2lnblRyYW5zYWN0aW9uXG4gICAgdGhyb3cgbmV3IEVycm9yKCdleHBsYWluVHJhbnNhY3Rpb24gbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAgYXN5bmMgcGFyc2VUcmFuc2FjdGlvbihfcGFyYW1zOiBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFyc2VkVHJhbnNhY3Rpb24+IHtcbiAgICAvLyBUT0RPIFdJTi02MzIwOiBpbXBsZW1lbnQgc2lnblRyYW5zYWN0aW9uXG4gICAgdGhyb3cgbmV3IEVycm9yKCdwYXJzZVRyYW5zYWN0aW9uIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG4gIGFzeW5jIHByZXNpZ25UcmFuc2FjdGlvbihfcGFyYW1zOiBQcmVzaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQcmVzaWduVHJhbnNhY3Rpb25PcHRpb25zPiB7XG4gICAgLy8gVE9ETyBXSU4tNjMyMDogaW1wbGVtZW50IHNpZ25UcmFuc2FjdGlvblxuICAgIHRocm93IG5ldyBFcnJvcigncHJlc2lnblRyYW5zYWN0aW9uIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG4gIGFzeW5jIHBvc3RQcm9jZXNzUHJlYnVpbGQocHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQpOiBQcm9taXNlPFRyYW5zYWN0aW9uUHJlYnVpbGQ+IHtcbiAgICAvLyBUT0RPIFdJTi02MzIwOiBpbXBsZW1lbnQgc2lnblRyYW5zYWN0aW9uXG4gICAgcmV0dXJuIHByZWJ1aWxkO1xuICB9XG4gIGFzeW5jIGdldEV4dHJhUHJlYnVpbGRQYXJhbXMoX2J1aWxkUGFyYW1zOiBFeHRyYVByZWJ1aWxkUGFyYW1zT3B0aW9ucyk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICAvLyBUT0RPIFdJTi02MzIwOiBpbXBsZW1lbnQgc2lnblRyYW5zYWN0aW9uXG4gICAgcmV0dXJuIHt9O1xuICB9XG4gIGFzeW5jIGZlZUVzdGltYXRlKF9wYXJhbXM6IEZlZUVzdGltYXRlT3B0aW9ucyk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIC8vIFRPRE8gV0lOLTYzMjA6IGltcGxlbWVudCBzaWduVHJhbnNhY3Rpb25cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZlZUVzdGltYXRlIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG4gIGFzeW5jIGJyb2FkY2FzdFRyYW5zYWN0aW9uKF9wYXJhbXM6IEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvblJlc3VsdD4ge1xuICAgIC8vIFRPRE8gV0lOLTYzMjA6IGltcGxlbWVudCBzaWduVHJhbnNhY3Rpb25cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2Jyb2FkY2FzdFRyYW5zYWN0aW9uIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLy8gV2FsbGV0IGhlbHBlcnNcbiAgYXN5bmMgc3VwcGxlbWVudEdlbmVyYXRlV2FsbGV0KFxuICAgIF93YWxsZXRQYXJhbXM6IFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMsXG4gICAgX2tleWNoYWluczogS2V5Y2hhaW5zVHJpcGxldFxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG4gIG5ld1dhbGxldE9iamVjdCh3YWxsZXRQYXJhbXM6IHVua25vd24pOiBJV2FsbGV0IHtcbiAgICByZXR1cm4gd2FsbGV0UGFyYW1zIGFzIElXYWxsZXQ7XG4gIH1cbiAgcHJlQ3JlYXRlQml0R28oX3BhcmFtczogUHJlY3JlYXRlQml0R29PcHRpb25zKTogdm9pZCB7XG4gICAgLyogbm8tb3AgKi9cbiAgfVxuICBpbml0aWF0ZVJlY292ZXJ5KF9wYXJhbXM6IEluaXRpYXRlUmVjb3ZlcnlPcHRpb25zKTogbmV2ZXIge1xuICAgIHRocm93IG5ldyBFcnJvcignaW5pdGlhdGVSZWNvdmVyeSBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8vIFNpZ25pbmcgaGVscGVyc1xuICBhc3luYyBzaWduTWVzc2FnZShfa2V5OiB7IHBydjogc3RyaW5nIH0sIF9tZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj4ge1xuICAgIHRocm93IG5ldyBFcnJvcignc2lnbk1lc3NhZ2Ugbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAgYXN5bmMgY3JlYXRlS2V5U2lnbmF0dXJlcyhcbiAgICBfcHJ2OiBzdHJpbmcsXG4gICAgX2JhY2t1cDogeyBwdWI6IHN0cmluZyB9LFxuICAgIF9iaXRnbzogeyBwdWI6IHN0cmluZyB9XG4gICk6IFByb21pc2U8eyBiYWNrdXA6IHN0cmluZzsgYml0Z286IHN0cmluZyB9PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjcmVhdGVLZXlTaWduYXR1cmVzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG4gIGFzeW5jIGdldFNpZ25hYmxlUGF5bG9hZChfc2VyaWFsaXplZFR4OiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj4ge1xuICAgIHRocm93IG5ldyBFcnJvcignZ2V0U2lnbmFibGVQYXlsb2FkIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG4gIGdldE1QQ0FsZ29yaXRobSgpOiBNUENBbGdvcml0aG0ge1xuICAgIHJldHVybiAnZWNkc2EnO1xuICB9XG5cbiAgLy8gVG9rZW4gLyBORlQgLyBpbnNjcmlwdGlvbiAvIHJlY292ZXJ5IHBsYWNlaG9sZGVyc1xuICByZWNvdmVyVG9rZW4oX3BhcmFtczogUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyk6IFByb21pc2U8UmVjb3ZlclRva2VuVHJhbnNhY3Rpb24+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlY292ZXJUb2tlbiBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuICBidWlsZE5mdFRyYW5zZmVyRGF0YShfcGFyYW1zOiBCdWlsZE5mdFRyYW5zZmVyRGF0YU9wdGlvbnMpOiBzdHJpbmcgfCBUb2tlblRyYW5zZmVyUmVjaXBpZW50UGFyYW1zIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2J1aWxkTmZ0VHJhbnNmZXJEYXRhIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG4gIGdldEluc2NyaXB0aW9uQnVpbGRlcihfd2FsbGV0OiBXYWxsZXQpOiBJSW5zY3JpcHRpb25CdWlsZGVyIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2dldEluc2NyaXB0aW9uQnVpbGRlciBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgZ2V0SGFzaEZ1bmN0aW9uKCk6IEhhc2gge1xuICAgIHRocm93IG5ldyBFcnJvcignZ2V0SGFzaEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG4gIGRlcml2ZUtleVdpdGhTZWVkKF9wYXJhbXM6IERlcml2ZUtleVdpdGhTZWVkT3B0aW9ucyk6IHsga2V5OiBzdHJpbmc7IGRlcml2YXRpb25QYXRoOiBzdHJpbmcgfSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkZXJpdmVLZXlXaXRoU2VlZCBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuICBzZXRDb2luU3BlY2lmaWNGaWVsZHNJbkludGVudChfaW50ZW50OiBQb3B1bGF0ZWRJbnRlbnQsIF9wYXJhbXM6IFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucyk6IHZvaWQge1xuICAgIC8qIG5vLW9wICovXG4gIH1cbiAgYXNzZXJ0SXNWYWxpZEtleShfcGFyYW1zOiBBdWRpdEtleVBhcmFtcyk6IHZvaWQge1xuICAgIC8qIG5vLW9wICovXG4gIH1cbiAgYXVkaXREZWNyeXB0ZWRLZXkoKTogdm9pZCB7XG4gICAgLyogbm8tb3AgKi9cbiAgfVxufVxuIl19
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxycC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mbHJwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQWtDOEI7QUFHOUIsMkNBQXVEO0FBRXZELE1BQWEsSUFBSyxTQUFRLG1CQUFRO0lBR2hDLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUNELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBb0IsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUNELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELG9GQUFvRjtJQUNwRixnQkFBZ0I7SUFDaEIsV0FBVztRQUNULE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELHNCQUFzQjtRQUNwQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCx3QkFBd0I7UUFDdEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsbUJBQW1CO1FBQ2pC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SSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsT0FBTztJQUNQLGVBQWU7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELGlCQUFpQixDQUFDLE9BQWlDO1FBQ2pELE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsNkJBQTZCLENBQUMsT0FBd0IsRUFBRSxPQUE2QztRQUNuRyxXQUFXO0lBQ2IsQ0FBQztJQUNELGdCQUFnQixDQUFDLE9BQXVCO1FBQ3RDLFdBQVc7SUFDYixDQUFDO0lBQ0QsaUJBQWlCO1FBQ2YsV0FBVztJQUNiLENBQUM7Q0FDRjtBQXRNRCxvQkFzTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlQ29pbixcbiAgQml0R29CYXNlLFxuICBWZXJpZnlBZGRyZXNzT3B0aW9ucyxcbiAgUGFyc2VkVHJhbnNhY3Rpb24sXG4gIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zLFxuICBLZXlQYWlyLFxuICBTaWduVHJhbnNhY3Rpb25PcHRpb25zLFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgSW5pdGlhdGVSZWNvdmVyeU9wdGlvbnMsXG4gIFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMsXG4gIEtleWNoYWluc1RyaXBsZXQsXG4gIFRyYW5zYWN0aW9uUHJlYnVpbGQsXG4gIFByZXNpZ25UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIEZlZUVzdGltYXRlT3B0aW9ucyxcbiAgRGVyaXZlS2V5V2l0aFNlZWRPcHRpb25zLFxuICBBdWRpdEtleVBhcmFtcyxcbiAgUG9wdWxhdGVkSW50ZW50LFxuICBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMsXG4gIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMsXG4gIEJ1aWxkTmZ0VHJhbnNmZXJEYXRhT3B0aW9ucyxcbiAgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0LFxuICBNUENBbGdvcml0aG0sXG4gIFdhbGxldCxcbiAgSUluc2NyaXB0aW9uQnVpbGRlcixcbiAgRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMsXG4gIFZhbGlkTW9mTk9wdGlvbnMsXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgSVRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIFJlY292ZXJUb2tlblRyYW5zYWN0aW9uLFxuICBSZWNvdmVyV2FsbGV0VG9rZW5PcHRpb25zLFxuICBQcmVjcmVhdGVCaXRHb09wdGlvbnMsXG4gIElXYWxsZXQsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiwgQ29pbkZhbWlseSB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBLZXlQYWlyIGFzIEZscnBLZXlQYWlyIH0gZnJvbSAnLi9saWIva2V5UGFpcic7XG5cbmV4cG9ydCBjbGFzcyBGbHJwIGV4dGVuZHMgQmFzZUNvaW4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbyk7XG4gICAgaWYgKCFzdGF0aWNzQ29pbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBzdGF0aWNzQ29pbicpO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IEZscnAoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIGdldENoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLm5hbWU7XG4gIH1cbiAgZ2V0RmFtaWx5KCk6IENvaW5GYW1pbHkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5mYW1pbHkgYXMgQ29pbkZhbWlseTtcbiAgfVxuICBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5mdWxsTmFtZTtcbiAgfVxuICBnZXRCYXNlRmFjdG9yKCk6IG51bWJlciB8IHN0cmluZyB7XG4gICAgcmV0dXJuIE1hdGgucG93KDEwLCB0aGlzLl9zdGF0aWNzQ29pbi5kZWNpbWFsUGxhY2VzKTtcbiAgfVxuXG4gIC8vIFRPRE8gV0lOLTYzMjEsIDYzMjIsIDYzMTg6IEFsbCBiZWxvdyBtZXRob2RzIHdpbGwgYmUgaW1wbGVtZW50ZWQgaW4gY29taW5nIHRpY2tldFxuICAvLyBGZWF0dXJlIGZsYWdzXG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBzdXBwb3J0c01lc3NhZ2VTaWduaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBzdXBwb3J0c1NpZ25pbmdUeXBlZERhdGEoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHN1cHBvcnRzQmxvY2tUYXJnZXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHN1cHBvcnRzTGlnaHRuaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBzdXBwb3J0c0Jsc0RrZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaXNFVk0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQ29udmVyc2lvbnMgKHBsYWNlaG9sZGVyKVxuICAvLyBVc2UgQmFzZUNvaW4gZGVmYXVsdCBjb252ZXJzaW9ucyAoYmFzZVVuaXRzVG9CaWdVbml0cyAvIGJpZ1VuaXRzVG9CYXNlVW5pdHMpXG5cbiAgLy8gS2V5IG1ldGhvZHMgKHN0dWJzKVxuICBnZW5lcmF0ZUtleVBhaXIoKTogS2V5UGFpciB7XG4gICAgY29uc3Qga2V5UGFpciA9IG5ldyBGbHJwS2V5UGFpcigpO1xuICAgIGNvbnN0IGtleXMgPSBrZXlQYWlyLmdldEtleXMoKTtcbiAgICBpZiAoIWtleXMucHJ2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBnZW5lcmF0ZSBwcml2YXRlIGtleScpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgcHViOiBrZXlzLnB1YixcbiAgICAgIHBydjoga2V5cy5wcnYsXG4gICAgfTtcbiAgfVxuICBnZW5lcmF0ZVJvb3RLZXlQYWlyKCk6IEtleVBhaXIge1xuICAgIHRocm93IG5ldyBFcnJvcignZ2VuZXJhdGVSb290S2V5UGFpciBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuICBrZXlJZHNGb3JTaWduaW5nKCk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gWzAsIDEsIDJdO1xuICB9XG4gIGlzVmFsaWRQdWIoX3B1Yjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlzVmFsaWRBZGRyZXNzKF9hZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaXNWYWxpZE1vZk5TZXR1cChfcGFyYW1zOiBWYWxpZE1vZk5PcHRpb25zKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNhbm9uaWNhbEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYWRkcmVzcztcbiAgfVxuICBjaGVja1JlY2lwaWVudChfcmVjaXBpZW50OiB7IGFkZHJlc3M6IHN0cmluZzsgYW1vdW50OiBzdHJpbmcgfCBudW1iZXIgfSk6IHZvaWQge1xuICAgIC8qIG5vLW9wICovXG4gIH1cblxuICAvLyBWZXJpZmljYXRpb25cbiAgYXN5bmMgdmVyaWZ5QWRkcmVzcyhfcGFyYW1zOiBWZXJpZnlBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcigndmVyaWZ5QWRkcmVzcyBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuICBhc3luYyBpc1dhbGxldEFkZHJlc3MoX3BhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2lzV2FsbGV0QWRkcmVzcyBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuICBhc3luYyB2ZXJpZnlUcmFuc2FjdGlvbihfcGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZlcmlmeVRyYW5zYWN0aW9uIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLy8gVHggbGlmZWN5Y2xlXG4gIGFzeW5jIHNpZ25UcmFuc2FjdGlvbihfcGFyYW1zOiBTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj4ge1xuICAgIC8vIFRPRE8gV0lOLTYzMjA6IGltcGxlbWVudCBzaWduVHJhbnNhY3Rpb25cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NpZ25UcmFuc2FjdGlvbiBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuICBhc3luYyBleHBsYWluVHJhbnNhY3Rpb24oXG4gICAgX29wdGlvbnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICk6IFByb21pc2U8SVRyYW5zYWN0aW9uRXhwbGFuYXRpb248dW5rbm93biwgc3RyaW5nIHwgbnVtYmVyPiB8IHVuZGVmaW5lZD4ge1xuICAgIC8vIFRPRE8gV0lOLTYzMjA6IGltcGxlbWVudCBzaWduVHJhbnNhY3Rpb25cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGxhaW5UcmFuc2FjdGlvbiBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuICBhc3luYyBwYXJzZVRyYW5zYWN0aW9uKF9wYXJhbXM6IFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj4ge1xuICAgIC8vIFRPRE8gV0lOLTYzMjA6IGltcGxlbWVudCBzaWduVHJhbnNhY3Rpb25cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3BhcnNlVHJhbnNhY3Rpb24gbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAgYXN5bmMgcHJlc2lnblRyYW5zYWN0aW9uKF9wYXJhbXM6IFByZXNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFByZXNpZ25UcmFuc2FjdGlvbk9wdGlvbnM+IHtcbiAgICAvLyBUT0RPIFdJTi02MzIwOiBpbXBsZW1lbnQgc2lnblRyYW5zYWN0aW9uXG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcmVzaWduVHJhbnNhY3Rpb24gbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAgYXN5bmMgcG9zdFByb2Nlc3NQcmVidWlsZChwcmVidWlsZDogVHJhbnNhY3Rpb25QcmVidWlsZCk6IFByb21pc2U8VHJhbnNhY3Rpb25QcmVidWlsZD4ge1xuICAgIC8vIFRPRE8gV0lOLTYzMjA6IGltcGxlbWVudCBzaWduVHJhbnNhY3Rpb25cbiAgICByZXR1cm4gcHJlYnVpbGQ7XG4gIH1cbiAgYXN5bmMgZ2V0RXh0cmFQcmVidWlsZFBhcmFtcyhfYnVpbGRQYXJhbXM6IEV4dHJhUHJlYnVpbGRQYXJhbXNPcHRpb25zKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgIC8vIFRPRE8gV0lOLTYzMjA6IGltcGxlbWVudCBzaWduVHJhbnNhY3Rpb25cbiAgICByZXR1cm4ge307XG4gIH1cbiAgYXN5bmMgZmVlRXN0aW1hdGUoX3BhcmFtczogRmVlRXN0aW1hdGVPcHRpb25zKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgLy8gVE9ETyBXSU4tNjMyMDogaW1wbGVtZW50IHNpZ25UcmFuc2FjdGlvblxuICAgIHRocm93IG5ldyBFcnJvcignZmVlRXN0aW1hdGUgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAgYXN5bmMgYnJvYWRjYXN0VHJhbnNhY3Rpb24oX3BhcmFtczogQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8QmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0PiB7XG4gICAgLy8gVE9ETyBXSU4tNjMyMDogaW1wbGVtZW50IHNpZ25UcmFuc2FjdGlvblxuICAgIHRocm93IG5ldyBFcnJvcignYnJvYWRjYXN0VHJhbnNhY3Rpb24gbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvLyBXYWxsZXQgaGVscGVyc1xuICBhc3luYyBzdXBwbGVtZW50R2VuZXJhdGVXYWxsZXQoXG4gICAgX3dhbGxldFBhcmFtczogU3VwcGxlbWVudEdlbmVyYXRlV2FsbGV0T3B0aW9ucyxcbiAgICBfa2V5Y2hhaW5zOiBLZXljaGFpbnNUcmlwbGV0XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICByZXR1cm4ge307XG4gIH1cbiAgbmV3V2FsbGV0T2JqZWN0KHdhbGxldFBhcmFtczogdW5rbm93bik6IElXYWxsZXQge1xuICAgIHJldHVybiB3YWxsZXRQYXJhbXMgYXMgSVdhbGxldDtcbiAgfVxuICBwcmVDcmVhdGVCaXRHbyhfcGFyYW1zOiBQcmVjcmVhdGVCaXRHb09wdGlvbnMpOiB2b2lkIHtcbiAgICAvKiBuby1vcCAqL1xuICB9XG4gIGluaXRpYXRlUmVjb3ZlcnkoX3BhcmFtczogSW5pdGlhdGVSZWNvdmVyeU9wdGlvbnMpOiBuZXZlciB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbml0aWF0ZVJlY292ZXJ5IG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLy8gU2lnbmluZyBoZWxwZXJzXG4gIGFzeW5jIHNpZ25NZXNzYWdlKF9rZXk6IHsgcHJ2OiBzdHJpbmcgfSwgX21lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzaWduTWVzc2FnZSBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuICBhc3luYyBjcmVhdGVLZXlTaWduYXR1cmVzKFxuICAgIF9wcnY6IHN0cmluZyxcbiAgICBfYmFja3VwOiB7IHB1Yjogc3RyaW5nIH0sXG4gICAgX2JpdGdvOiB7IHB1Yjogc3RyaW5nIH1cbiAgKTogUHJvbWlzZTx7IGJhY2t1cDogc3RyaW5nOyBiaXRnbzogc3RyaW5nIH0+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2NyZWF0ZUtleVNpZ25hdHVyZXMgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAgYXN5bmMgZ2V0U2lnbmFibGVQYXlsb2FkKF9zZXJpYWxpemVkVHg6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdnZXRTaWduYWJsZVBheWxvYWQgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdlY2RzYSc7XG4gIH1cblxuICAvLyBUb2tlbiAvIE5GVCAvIGluc2NyaXB0aW9uIC8gcmVjb3ZlcnkgcGxhY2Vob2xkZXJzXG4gIHJlY292ZXJUb2tlbihfcGFyYW1zOiBSZWNvdmVyV2FsbGV0VG9rZW5PcHRpb25zKTogUHJvbWlzZTxSZWNvdmVyVG9rZW5UcmFuc2FjdGlvbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcigncmVjb3ZlclRva2VuIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG4gIGJ1aWxkTmZ0VHJhbnNmZXJEYXRhKF9wYXJhbXM6IEJ1aWxkTmZ0VHJhbnNmZXJEYXRhT3B0aW9ucyk6IHN0cmluZyB8IFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMge1xuICAgIHRocm93IG5ldyBFcnJvcignYnVpbGROZnRUcmFuc2ZlckRhdGEgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAgZ2V0SW5zY3JpcHRpb25CdWlsZGVyKF93YWxsZXQ6IFdhbGxldCk6IElJbnNjcmlwdGlvbkJ1aWxkZXIge1xuICAgIHRocm93IG5ldyBFcnJvcignZ2V0SW5zY3JpcHRpb25CdWlsZGVyIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLy8gTWlzY1xuICBnZXRIYXNoRnVuY3Rpb24oKTogSGFzaCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdnZXRIYXNoRnVuY3Rpb24gbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbiAgZGVyaXZlS2V5V2l0aFNlZWQoX3BhcmFtczogRGVyaXZlS2V5V2l0aFNlZWRPcHRpb25zKTogeyBrZXk6IHN0cmluZzsgZGVyaXZhdGlvblBhdGg6IHN0cmluZyB9IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2Rlcml2ZUtleVdpdGhTZWVkIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG4gIHNldENvaW5TcGVjaWZpY0ZpZWxkc0luSW50ZW50KF9pbnRlbnQ6IFBvcHVsYXRlZEludGVudCwgX3BhcmFtczogUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zKTogdm9pZCB7XG4gICAgLyogbm8tb3AgKi9cbiAgfVxuICBhc3NlcnRJc1ZhbGlkS2V5KF9wYXJhbXM6IEF1ZGl0S2V5UGFyYW1zKTogdm9pZCB7XG4gICAgLyogbm8tb3AgKi9cbiAgfVxuICBhdWRpdERlY3J5cHRlZEtleSgpOiB2b2lkIHtcbiAgICAvKiBuby1vcCAqL1xuICB9XG59XG4iXX0=
@@ -1,8 +1,10 @@
1
1
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
2
  import { TransactionType } from '@bitgo-beta/sdk-core';
3
+ import { Credential } from '@flarenetwork/flarejs';
3
4
  /**
4
- * Minimal placeholder for Flare P-chain atomic transaction building.
5
- * This will be expanded with proper Flare P-chain logic (inputs/outputs/credentials, UTXO handling, fees, etc.).
5
+ * Flare P-chain atomic transaction builder with FlareJS credential support.
6
+ * This provides the foundation for building Flare P-chain transactions with proper
7
+ * credential handling using FlareJS Credential and Signature classes.
6
8
  */
7
9
  export declare abstract class AtomicTransactionBuilder {
8
10
  protected readonly _coinConfig: Readonly<CoinConfig>;
@@ -28,14 +30,28 @@ export declare abstract class AtomicTransactionBuilder {
28
30
  constructor(coinConfig: Readonly<CoinConfig>);
29
31
  protected abstract get transactionType(): TransactionType;
30
32
  validateAmount(amount: bigint): void;
33
+ /**
34
+ * Validates that credentials array is properly formed
35
+ * @param credentials - Array of credentials to validate
36
+ */
37
+ protected validateCredentials(credentials: Credential[]): void;
31
38
  /**
32
39
  * Placeholder that should assemble inputs/outputs and credentials once UTXO + key logic is implemented.
33
40
  */
34
41
  protected createInputOutput(_total: bigint): {
35
42
  inputs: unknown[];
36
43
  outputs: unknown[];
37
- credentials: unknown[];
44
+ credentials: Credential[];
38
45
  };
46
+ /**
47
+ * Flare equivalent of Avalanche's SelectCredentialClass
48
+ * Creates a credential with the provided signatures
49
+ *
50
+ * @param credentialId - The credential ID (not used in FlareJS but kept for compatibility)
51
+ * @param signatures - Array of signature hex strings or empty strings for placeholders
52
+ * @returns Credential instance
53
+ */
54
+ protected createFlareCredential(_credentialId: number, signatures: string[]): Credential;
39
55
  /**
40
56
  * Base initBuilder used by concrete builders. For now just returns this so fluent API works.
41
57
  */
@@ -1 +1 @@
1
- {"version":3,"file":"atomicTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/atomicTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE9E;;;GAGG;AACH,8BAAsB,wBAAwB;IAC5C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAErD,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAI/C,SAAS,CAAC,WAAW,EAAE;QACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,GAAG,EAAE,MAAM,EAAE,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACvD,cAAc,EAAE,OAAO,CAAC;QACxB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,cAAc,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;KACvC,CAcC;gBAEU,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMpC;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QAAC,WAAW,EAAE,OAAO,EAAE,CAAA;KAAE;IAI9G;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAGhC"}
1
+ {"version":3,"file":"atomicTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/atomicTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAa,MAAM,uBAAuB,CAAC;AAK9D;;;;GAIG;AACH,8BAAsB,wBAAwB;IAC5C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAErD,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAI/C,SAAS,CAAC,WAAW,EAAE;QACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,GAAG,EAAE,MAAM,EAAE,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACvD,cAAc,EAAE,OAAO,CAAC;QACxB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,cAAc,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;KACvC,CAcC;gBAEU,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMpC;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAY9D;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QAAC,WAAW,EAAE,UAAU,EAAE,CAAA;KAAE;IAIjH;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU;IAmDxF;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAGhC"}
@@ -2,9 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AtomicTransactionBuilder = void 0;
4
4
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const flarejs_1 = require("@flarenetwork/flarejs");
6
+ // Constants for signature handling
7
+ const SECP256K1_SIGNATURE_LENGTH = 65;
5
8
  /**
6
- * Minimal placeholder for Flare P-chain atomic transaction building.
7
- * This will be expanded with proper Flare P-chain logic (inputs/outputs/credentials, UTXO handling, fees, etc.).
9
+ * Flare P-chain atomic transaction builder with FlareJS credential support.
10
+ * This provides the foundation for building Flare P-chain transactions with proper
11
+ * credential handling using FlareJS Credential and Signature classes.
8
12
  */
9
13
  class AtomicTransactionBuilder {
10
14
  constructor(coinConfig) {
@@ -32,12 +36,73 @@ class AtomicTransactionBuilder {
32
36
  throw new sdk_core_1.BuildTransactionError('Amount must be positive');
33
37
  }
34
38
  }
39
+ /**
40
+ * Validates that credentials array is properly formed
41
+ * @param credentials - Array of credentials to validate
42
+ */
43
+ validateCredentials(credentials) {
44
+ if (!Array.isArray(credentials)) {
45
+ throw new sdk_core_1.BuildTransactionError('Credentials must be an array');
46
+ }
47
+ credentials.forEach((credential, index) => {
48
+ if (!(credential instanceof flarejs_1.Credential)) {
49
+ throw new sdk_core_1.BuildTransactionError(`Invalid credential at index ${index}`);
50
+ }
51
+ });
52
+ }
35
53
  /**
36
54
  * Placeholder that should assemble inputs/outputs and credentials once UTXO + key logic is implemented.
37
55
  */
38
56
  createInputOutput(_total) {
39
57
  return { inputs: [], outputs: [], credentials: [] };
40
58
  }
59
+ /**
60
+ * Flare equivalent of Avalanche's SelectCredentialClass
61
+ * Creates a credential with the provided signatures
62
+ *
63
+ * @param credentialId - The credential ID (not used in FlareJS but kept for compatibility)
64
+ * @param signatures - Array of signature hex strings or empty strings for placeholders
65
+ * @returns Credential instance
66
+ */
67
+ createFlareCredential(_credentialId, signatures) {
68
+ if (!Array.isArray(signatures)) {
69
+ throw new sdk_core_1.BuildTransactionError('Signatures must be an array');
70
+ }
71
+ if (signatures.length === 0) {
72
+ throw new sdk_core_1.BuildTransactionError('Signatures array cannot be empty');
73
+ }
74
+ const sigs = signatures.map((sig, index) => {
75
+ // Handle empty/placeholder signatures
76
+ if (!sig || sig.length === 0) {
77
+ return new flarejs_1.Signature(new Uint8Array(SECP256K1_SIGNATURE_LENGTH));
78
+ }
79
+ // Validate hex string format
80
+ const cleanSig = sig.startsWith('0x') ? sig.slice(2) : sig;
81
+ if (!/^[0-9a-fA-F]*$/.test(cleanSig)) {
82
+ throw new sdk_core_1.BuildTransactionError(`Invalid hex signature at index ${index}: contains non-hex characters`);
83
+ }
84
+ // Convert to buffer and validate length
85
+ const sigBuffer = Buffer.from(cleanSig, 'hex');
86
+ if (sigBuffer.length > SECP256K1_SIGNATURE_LENGTH) {
87
+ throw new sdk_core_1.BuildTransactionError(`Signature too long at index ${index}: ${sigBuffer.length} bytes (max ${SECP256K1_SIGNATURE_LENGTH})`);
88
+ }
89
+ // Create fixed-length buffer and copy signature data
90
+ const fixedLengthBuffer = Buffer.alloc(SECP256K1_SIGNATURE_LENGTH);
91
+ sigBuffer.copy(fixedLengthBuffer);
92
+ try {
93
+ return new flarejs_1.Signature(new Uint8Array(fixedLengthBuffer));
94
+ }
95
+ catch (error) {
96
+ throw new sdk_core_1.BuildTransactionError(`Failed to create signature at index ${index}: ${error instanceof Error ? error.message : 'unknown error'}`);
97
+ }
98
+ });
99
+ try {
100
+ return new flarejs_1.Credential(sigs);
101
+ }
102
+ catch (error) {
103
+ throw new sdk_core_1.BuildTransactionError(`Failed to create credential: ${error instanceof Error ? error.message : 'unknown error'}`);
104
+ }
105
+ }
41
106
  /**
42
107
  * Base initBuilder used by concrete builders. For now just returns this so fluent API works.
43
108
  */
@@ -46,4 +111,4 @@ class AtomicTransactionBuilder {
46
111
  }
47
112
  }
48
113
  exports.AtomicTransactionBuilder = AtomicTransactionBuilder;
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQThFO0FBRTlFOzs7R0FHRztBQUNILE1BQXNCLHdCQUF3QjtJQW9DNUMsWUFBWSxVQUFnQztRQS9CNUMsc0ZBQXNGO1FBQ3RGLHdDQUF3QztRQUM5QixnQkFBVyxHQWFqQjtZQUNGLFFBQVEsRUFBRSxFQUFFO1lBQ1osVUFBVSxFQUFFLENBQUM7WUFDYixhQUFhLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLEdBQUcsRUFBRSxFQUFFO1lBQ1AsU0FBUyxFQUFFLEVBQUU7WUFDYixVQUFVLEVBQUUsQ0FBQztZQUNiLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7WUFDbEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsY0FBYyxFQUFFLFVBQVUsR0FBWTtnQkFDcEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDakIsQ0FBQztTQUNGLENBQUM7UUFHQSxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNoQyxDQUFDO0lBSUQsY0FBYyxDQUFDLE1BQWM7UUFDM0IsSUFBSSxNQUFNLElBQUksRUFBRSxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNPLGlCQUFpQixDQUFDLE1BQWM7UUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLEdBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUE3REQsNERBNkRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbi8qKlxuICogTWluaW1hbCBwbGFjZWhvbGRlciBmb3IgRmxhcmUgUC1jaGFpbiBhdG9taWMgdHJhbnNhY3Rpb24gYnVpbGRpbmcuXG4gKiBUaGlzIHdpbGwgYmUgZXhwYW5kZWQgd2l0aCBwcm9wZXIgRmxhcmUgUC1jaGFpbiBsb2dpYyAoaW5wdXRzL291dHB1dHMvY3JlZGVudGlhbHMsIFVUWE8gaGFuZGxpbmcsIGZlZXMsIGV0Yy4pLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPjtcbiAgLy8gRXh0ZXJuYWwgY2hhaW4gaWQgKGRlc3RpbmF0aW9uKSBmb3IgZXhwb3J0IHRyYW5zYWN0aW9uc1xuICBwcm90ZWN0ZWQgX2V4dGVybmFsQ2hhaW5JZDogQnVmZmVyIHwgdW5kZWZpbmVkO1xuXG4gIC8vIFNpbXBsaWZpZWQgaW50ZXJuYWwgdHJhbnNhY3Rpb24gc3RhdGUgKG1pcnJvcnMgc2hhcGUgZXhwZWN0ZWQgYnkgZXhpc3RpbmcgYnVpbGRlcnMpXG4gIC8vIFNpbXBsaWZpZWQgaW50ZXJuYWwgdHJhbnNhY3Rpb24gc3RhdGVcbiAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uOiB7XG4gICAgX25ldHdvcms6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIF9uZXR3b3JrSUQ6IG51bWJlcjtcbiAgICBfYmxvY2tjaGFpbklEOiBCdWZmZXI7XG4gICAgX2Fzc2V0SWQ6IEJ1ZmZlcjtcbiAgICBfZnJvbUFkZHJlc3Nlczogc3RyaW5nW107XG4gICAgX3RvOiBzdHJpbmdbXTtcbiAgICBfbG9ja3RpbWU6IGJpZ2ludDtcbiAgICBfdGhyZXNob2xkOiBudW1iZXI7XG4gICAgX2ZlZTogeyBmZWU6IHN0cmluZzsgZmVlUmF0ZT86IHN0cmluZzsgc2l6ZT86IG51bWJlciB9O1xuICAgIGhhc0NyZWRlbnRpYWxzOiBib29sZWFuO1xuICAgIF90eD86IHVua25vd247XG4gICAgc2V0VHJhbnNhY3Rpb246ICh0eDogdW5rbm93bikgPT4gdm9pZDtcbiAgfSA9IHtcbiAgICBfbmV0d29yazoge30sXG4gICAgX25ldHdvcmtJRDogMCxcbiAgICBfYmxvY2tjaGFpbklEOiBCdWZmZXIuYWxsb2MoMCksXG4gICAgX2Fzc2V0SWQ6IEJ1ZmZlci5hbGxvYygwKSxcbiAgICBfZnJvbUFkZHJlc3NlczogW10sXG4gICAgX3RvOiBbXSxcbiAgICBfbG9ja3RpbWU6IDBuLFxuICAgIF90aHJlc2hvbGQ6IDEsXG4gICAgX2ZlZTogeyBmZWU6ICcwJyB9LFxuICAgIGhhc0NyZWRlbnRpYWxzOiBmYWxzZSxcbiAgICBzZXRUcmFuc2FjdGlvbjogZnVuY3Rpb24gKF90eDogdW5rbm93bikge1xuICAgICAgdGhpcy5fdHggPSBfdHg7XG4gICAgfSxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHRoaXMuX2NvaW5Db25maWcgPSBjb2luQ29uZmlnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlO1xuXG4gIHZhbGlkYXRlQW1vdW50KGFtb3VudDogYmlnaW50KTogdm9pZCB7XG4gICAgaWYgKGFtb3VudCA8PSAwbikge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignQW1vdW50IG11c3QgYmUgcG9zaXRpdmUnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUGxhY2Vob2xkZXIgdGhhdCBzaG91bGQgYXNzZW1ibGUgaW5wdXRzL291dHB1dHMgYW5kIGNyZWRlbnRpYWxzIG9uY2UgVVRYTyArIGtleSBsb2dpYyBpcyBpbXBsZW1lbnRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVJbnB1dE91dHB1dChfdG90YWw6IGJpZ2ludCk6IHsgaW5wdXRzOiB1bmtub3duW107IG91dHB1dHM6IHVua25vd25bXTsgY3JlZGVudGlhbHM6IHVua25vd25bXSB9IHtcbiAgICByZXR1cm4geyBpbnB1dHM6IFtdLCBvdXRwdXRzOiBbXSwgY3JlZGVudGlhbHM6IFtdIH07XG4gIH1cblxuICAvKipcbiAgICogQmFzZSBpbml0QnVpbGRlciB1c2VkIGJ5IGNvbmNyZXRlIGJ1aWxkZXJzLiBGb3Igbm93IGp1c3QgcmV0dXJucyB0aGlzIHNvIGZsdWVudCBBUEkgd29ya3MuXG4gICAqL1xuICBpbml0QnVpbGRlcihfdHg6IHVua25vd24pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQThFO0FBQzlFLG1EQUE4RDtBQUU5RCxtQ0FBbUM7QUFDbkMsTUFBTSwwQkFBMEIsR0FBRyxFQUFFLENBQUM7QUFFdEM7Ozs7R0FJRztBQUNILE1BQXNCLHdCQUF3QjtJQW9DNUMsWUFBWSxVQUFnQztRQS9CNUMsc0ZBQXNGO1FBQ3RGLHdDQUF3QztRQUM5QixnQkFBVyxHQWFqQjtZQUNGLFFBQVEsRUFBRSxFQUFFO1lBQ1osVUFBVSxFQUFFLENBQUM7WUFDYixhQUFhLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLEdBQUcsRUFBRSxFQUFFO1lBQ1AsU0FBUyxFQUFFLEVBQUU7WUFDYixVQUFVLEVBQUUsQ0FBQztZQUNiLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7WUFDbEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsY0FBYyxFQUFFLFVBQVUsR0FBWTtnQkFDcEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDakIsQ0FBQztTQUNGLENBQUM7UUFHQSxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNoQyxDQUFDO0lBSUQsY0FBYyxDQUFDLE1BQWM7UUFDM0IsSUFBSSxNQUFNLElBQUksRUFBRSxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDTyxtQkFBbUIsQ0FBQyxXQUF5QjtRQUNyRCxJQUFJLENBQUMsS0FBSyxD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LElBQUksb0JBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxnQ0FBcUIsQ0FDN0IsZ0NBQWdDLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUMzRixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVcsQ0FBQyxHQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBeElELDREQXdJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQ3JlZGVudGlhbCwgU2lnbmF0dXJlIH0gZnJvbSAnQGZsYXJlbmV0d29yay9mbGFyZWpzJztcblxuLy8gQ29uc3RhbnRzIGZvciBzaWduYXR1cmUgaGFuZGxpbmdcbmNvbnN0IFNFQ1AyNTZLMV9TSUdOQVRVUkVfTEVOR1RIID0gNjU7XG5cbi8qKlxuICogRmxhcmUgUC1jaGFpbiBhdG9taWMgdHJhbnNhY3Rpb24gYnVpbGRlciB3aXRoIEZsYXJlSlMgY3JlZGVudGlhbCBzdXBwb3J0LlxuICogVGhpcyBwcm92aWRlcyB0aGUgZm91bmRhdGlvbiBmb3IgYnVpbGRpbmcgRmxhcmUgUC1jaGFpbiB0cmFuc2FjdGlvbnMgd2l0aCBwcm9wZXJcbiAqIGNyZWRlbnRpYWwgaGFuZGxpbmcgdXNpbmcgRmxhcmVKUyBDcmVkZW50aWFsIGFuZCBTaWduYXR1cmUgY2xhc3Nlcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz47XG4gIC8vIEV4dGVybmFsIGNoYWluIGlkIChkZXN0aW5hdGlvbikgZm9yIGV4cG9ydCB0cmFuc2FjdGlvbnNcbiAgcHJvdGVjdGVkIF9leHRlcm5hbENoYWluSWQ6IEJ1ZmZlciB8IHVuZGVmaW5lZDtcblxuICAvLyBTaW1wbGlmaWVkIGludGVybmFsIHRyYW5zYWN0aW9uIHN0YXRlIChtaXJyb3JzIHNoYXBlIGV4cGVjdGVkIGJ5IGV4aXN0aW5nIGJ1aWxkZXJzKVxuICAvLyBTaW1wbGlmaWVkIGludGVybmFsIHRyYW5zYWN0aW9uIHN0YXRlXG4gIHByb3RlY3RlZCB0cmFuc2FjdGlvbjoge1xuICAgIF9uZXR3b3JrOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBfbmV0d29ya0lEOiBudW1iZXI7XG4gICAgX2Jsb2NrY2hhaW5JRDogQnVmZmVyO1xuICAgIF9hc3NldElkOiBCdWZmZXI7XG4gICAgX2Zyb21BZGRyZXNzZXM6IHN0cmluZ1tdO1xuICAgIF90bzogc3RyaW5nW107XG4gICAgX2xvY2t0aW1lOiBiaWdpbnQ7XG4gICAgX3RocmVzaG9sZDogbnVtYmVyO1xuICAgIF9mZWU6IHsgZmVlOiBzdHJpbmc7IGZlZVJhdGU/OiBzdHJpbmc7IHNpemU/OiBudW1iZXIgfTtcbiAgICBoYXNDcmVkZW50aWFsczogYm9vbGVhbjtcbiAgICBfdHg/OiB1bmtub3duO1xuICAgIHNldFRyYW5zYWN0aW9uOiAodHg6IHVua25vd24pID0+IHZvaWQ7XG4gIH0gPSB7XG4gICAgX25ldHdvcms6IHt9LFxuICAgIF9uZXR3b3JrSUQ6IDAsXG4gICAgX2Jsb2NrY2hhaW5JRDogQnVmZmVyLmFsbG9jKDApLFxuICAgIF9hc3NldElkOiBCdWZmZXIuYWxsb2MoMCksXG4gICAgX2Zyb21BZGRyZXNzZXM6IFtdLFxuICAgIF90bzogW10sXG4gICAgX2xvY2t0aW1lOiAwbixcbiAgICBfdGhyZXNob2xkOiAxLFxuICAgIF9mZWU6IHsgZmVlOiAnMCcgfSxcbiAgICBoYXNDcmVkZW50aWFsczogZmFsc2UsXG4gICAgc2V0VHJhbnNhY3Rpb246IGZ1bmN0aW9uIChfdHg6IHVua25vd24pIHtcbiAgICAgIHRoaXMuX3R4ID0gX3R4O1xuICAgIH0sXG4gIH07XG5cbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICB0aGlzLl9jb2luQ29uZmlnID0gY29pbkNvbmZpZztcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZTtcblxuICB2YWxpZGF0ZUFtb3VudChhbW91bnQ6IGJpZ2ludCk6IHZvaWQge1xuICAgIGlmIChhbW91bnQgPD0gMG4pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0Ftb3VudCBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGF0IGNyZWRlbnRpYWxzIGFycmF5IGlzIHByb3Blcmx5IGZvcm1lZFxuICAgKiBAcGFyYW0gY3JlZGVudGlhbHMgLSBBcnJheSBvZiBjcmVkZW50aWFscyB0byB2YWxpZGF0ZVxuICAgKi9cbiAgcHJvdGVjdGVkIHZhbGlkYXRlQ3JlZGVudGlhbHMoY3JlZGVudGlhbHM6IENyZWRlbnRpYWxbXSk6IHZvaWQge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShjcmVkZW50aWFscykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0NyZWRlbnRpYWxzIG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICB9XG5cbiAgICBjcmVkZW50aWFscy5mb3JFYWNoKChjcmVkZW50aWFsLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKCEoY3JlZGVudGlhbCBpbnN0YW5jZW9mIENyZWRlbnRpYWwpKSB7XG4gICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgY3JlZGVudGlhbCBhdCBpbmRleCAke2luZGV4fWApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRoYXQgc2hvdWxkIGFzc2VtYmxlIGlucHV0cy9vdXRwdXRzIGFuZCBjcmVkZW50aWFscyBvbmNlIFVUWE8gKyBrZXkgbG9naWMgaXMgaW1wbGVtZW50ZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlSW5wdXRPdXRwdXQoX3RvdGFsOiBiaWdpbnQpOiB7IGlucHV0czogdW5rbm93bltdOyBvdXRwdXRzOiB1bmtub3duW107IGNyZWRlbnRpYWxzOiBDcmVkZW50aWFsW10gfSB7XG4gICAgcmV0dXJuIHsgaW5wdXRzOiBbXSwgb3V0cHV0czogW10sIGNyZWRlbnRpYWxzOiBbXSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEZsYXJlIGVxdWl2YWxlbnQgb2YgQXZhbGFuY2hlJ3MgU2VsZWN0Q3JlZGVudGlhbENsYXNzXG4gICAqIENyZWF0ZXMgYSBjcmVkZW50aWFsIHdpdGggdGhlIHByb3ZpZGVkIHNpZ25hdHVyZXNcbiAgICpcbiAgICogQHBhcmFtIGNyZWRlbnRpYWxJZCAtIFRoZSBjcmVkZW50aWFsIElEIChub3QgdXNlZCBpbiBGbGFyZUpTIGJ1dCBrZXB0IGZvciBjb21wYXRpYmlsaXR5KVxuICAgKiBAcGFyYW0gc2lnbmF0dXJlcyAtIEFycmF5IG9mIHNpZ25hdHVyZSBoZXggc3RyaW5ncyBvciBlbXB0eSBzdHJpbmdzIGZvciBwbGFjZWhvbGRlcnNcbiAgICogQHJldHVybnMgQ3JlZGVudGlhbCBpbnN0YW5jZVxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZUZsYXJlQ3JlZGVudGlhbChfY3JlZGVudGlhbElkOiBudW1iZXIsIHNpZ25hdHVyZXM6IHN0cmluZ1tdKTogQ3JlZGVudGlhbCB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHNpZ25hdHVyZXMpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdTaWduYXR1cmVzIG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICB9XG5cbiAgICBpZiAoc2lnbmF0dXJlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1NpZ25hdHVyZXMgYXJyYXkgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2lncyA9IHNpZ25hdHVyZXMubWFwKChzaWcsIGluZGV4KSA9PiB7XG4gICAgICAvLyBIYW5kbGUgZW1wdHkvcGxhY2Vob2xkZXIgc2lnbmF0dXJlc1xuICAgICAgaWYgKCFzaWcgfHwgc2lnLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbmV3IFNpZ25hdHVyZShuZXcgVWludDhBcnJheShTRUNQMjU2SzFfU0lHTkFUVVJFX0xFTkdUSCkpO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0ZSBoZXggc3RyaW5nIGZvcm1hdFxuICAgICAgY29uc3QgY2xlYW5TaWcgPSBzaWcuc3RhcnRzV2l0aCgnMHgnKSA/IHNpZy5zbGljZSgyKSA6IHNpZztcbiAgICAgIGlmICghL15bMC05YS1mQS1GXSokLy50ZXN0KGNsZWFuU2lnKSkge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIGhleCBzaWduYXR1cmUgYXQgaW5kZXggJHtpbmRleH06IGNvbnRhaW5zIG5vbi1oZXggY2hhcmFjdGVyc2ApO1xuICAgICAgfVxuXG4gICAgICAvLyBDb252ZXJ0IHRvIGJ1ZmZlciBhbmQgdmFsaWRhdGUgbGVuZ3RoXG4gICAgICBjb25zdCBzaWdCdWZmZXIgPSBCdWZmZXIuZnJvbShjbGVhblNpZywgJ2hleCcpO1xuICAgICAgaWYgKHNpZ0J1ZmZlci5sZW5ndGggPiBTRUNQMjU2SzFfU0lHTkFUVVJFX0xFTkdUSCkge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICAgIGBTaWduYXR1cmUgdG9vIGxvbmcgYXQgaW5kZXggJHtpbmRleH06ICR7c2lnQnVmZmVyLmxlbmd0aH0gYnl0ZXMgKG1heCAke1NFQ1AyNTZLMV9TSUdOQVRVUkVfTEVOR1RIfSlgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIENyZWF0ZSBmaXhlZC1sZW5ndGggYnVmZmVyIGFuZCBjb3B5IHNpZ25hdHVyZSBkYXRhXG4gICAgICBjb25zdCBmaXhlZExlbmd0aEJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyhTRUNQMjU2SzFfU0lHTkFUVVJFX0xFTkdUSCk7XG4gICAgICBzaWdCdWZmZXIuY29weShmaXhlZExlbmd0aEJ1ZmZlcik7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBuZXcgU2lnbmF0dXJlKG5ldyBVaW50OEFycmF5KGZpeGVkTGVuZ3RoQnVmZmVyKSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICAgIGBGYWlsZWQgdG8gY3JlYXRlIHNpZ25hdHVyZSBhdCBpbmRleCAke2luZGV4fTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICd1bmtub3duIGVycm9yJ31gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG5ldyBDcmVkZW50aWFsKHNpZ3MpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIGNyZWF0ZSBjcmVkZW50aWFsOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ3Vua25vd24gZXJyb3InfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJhc2UgaW5pdEJ1aWxkZXIgdXNlZCBieSBjb25jcmV0ZSBidWlsZGVycy4gRm9yIG5vdyBqdXN0IHJldHVybnMgdGhpcyBzbyBmbHVlbnQgQVBJIHdvcmtzLlxuICAgKi9cbiAgaW5pdEJ1aWxkZXIoX3R4OiB1bmtub3duKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"exportInCTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/exportInCTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAG5E,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACnC;AAED,UAAU,mBAAmB;IAC3B,UAAU,EAAE,qBAAqB,CAAC;IAElC,WAAW,EAAE,OAAO,EAAE,CAAC;CACxB;AAED,KAAK,gBAAgB,GAAG,mBAAmB,CAAC;AAE5C,qBAAa,kBAAmB,SAAQ,2BAA2B;IACjE,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAO9C;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAO5C;;;;OAIG;IACH,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAOvC,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAuCxC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB;IAI/D,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB;IAIxD;;;OAGG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAoCvC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE;IAS/E;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAKnC"}
1
+ {"version":3,"file":"exportInCTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/exportInCTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAG5E,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACnC;AAED,UAAU,mBAAmB;IAC3B,UAAU,EAAE,qBAAqB,CAAC;IAElC,WAAW,EAAE,OAAO,EAAE,CAAC;CACxB;AAED,KAAK,gBAAgB,GAAG,mBAAmB,CAAC;AAE5C,qBAAa,kBAAmB,SAAQ,2BAA2B;IACjE,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAO9C;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAO5C;;;;OAIG;IACH,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAOvC,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAuCxC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB;IAI/D,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB;IAIxD;;;OAGG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAgDvC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE;IAS/E;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAKnC"}
@@ -102,18 +102,24 @@ class ExportInCTxBuilder extends atomicInCTransactionBuilder_1.AtomicInCTransact
102
102
  * @protected
103
103
  */
104
104
  buildFlareTransaction() {
105
- if (this.transaction.hasCredentials)
105
+ if (this.transaction.hasCredentials) {
106
106
  return; // placeholder: credentials not yet implemented
107
- if (this._amount === undefined)
107
+ }
108
+ if (this._amount === undefined) {
108
109
  throw new Error('amount is required');
109
- if (this.transaction._fromAddresses.length !== 1)
110
+ }
111
+ if (this.transaction._fromAddresses.length !== 1) {
110
112
  throw new Error('sender is one and required');
111
- if (this.transaction._to.length === 0)
113
+ }
114
+ if (this.transaction._to.length === 0) {
112
115
  throw new Error('to is required');
113
- if (!this.transaction._fee.feeRate)
116
+ }
117
+ if (!this.transaction._fee.feeRate) {
114
118
  throw new Error('fee rate is required');
115
- if (this._nonce === undefined)
119
+ }
120
+ if (this._nonce === undefined) {
116
121
  throw new Error('nonce is required');
122
+ }
117
123
  // Compose placeholder unsigned tx shape
118
124
  const feeRate = BigInt(this.transaction._fee.feeRate);
119
125
  const fixed = this.fixedFee;
@@ -161,4 +167,4 @@ class ExportInCTxBuilder extends atomicInCTransactionBuilder_1.AtomicInCTransact
161
167
  }
162
168
  }
163
169
  exports.ExportInCTxBuilder = ExportInCTxBuilder;
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0SW5DVHhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9leHBvcnRJbkNUeEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQThFO0FBRTlFLCtFQUE0RTtBQWdDNUUsTUFBYSxrQkFBbUIsU0FBUSx5REFBMkI7SUFJakUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLE1BQWlCO1FBQ3JCLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxNQUFnQztRQUNyQyxNQUFNLENBQUMsR0FBRyxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxLQUErQjtRQUNuQyxNQUFNLENBQUMsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEVBQUUsQ0FBQyxVQUE2QjtRQUM5QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FB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TSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLEdBQThCO1FBQ3pELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsd0VBQXdFO1lBQ3hFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLEtBQWE7UUFDekIsSUFBSSxLQUFLLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksZ0NBQXFCLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBcktELGdEQXFLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQXRvbWljSW5DVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9hdG9taWNJbkNUcmFuc2FjdGlvbkJ1aWxkZXInO1xuXG4vLyBMaWdodHdlaWdodCBpbnRlcmZhY2UgcGxhY2Vob2xkZXJzIHJlcGxhY2luZyBBdmFsYW5jaGUgU0RLIHRyYW5zYWN0aW9uIHNoYXBlc1xuaW50ZXJmYWNlIEZsYXJlRXhwb3J0SW5wdXRTaGFwZSB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBiaWdpbnQ7IC8vIGluY2x1ZGVzIGV4cG9ydGVkIGFtb3VudCArIGZlZVxuICBhc3NldElkOiBCdWZmZXI7XG4gIG5vbmNlOiBiaWdpbnQ7XG59XG5cbmludGVyZmFjZSBGbGFyZUV4cG9ydE91dHB1dFNoYXBlIHtcbiAgYWRkcmVzc2VzOiBzdHJpbmdbXTsgLy8gZGVzdGluYXRpb24gUC1jaGFpbiBhZGRyZXNzZXNcbiAgYW1vdW50OiBiaWdpbnQ7IC8vIGV4cG9ydGVkIGFtb3VudFxuICBhc3NldElkOiBCdWZmZXI7XG59XG5cbmludGVyZmFjZSBGbGFyZVVuc2lnbmVkRXhwb3J0VHgge1xuICBuZXR3b3JrSWQ6IG51bWJlcjtcbiAgc291cmNlQmxvY2tjaGFpbklkOiBCdWZmZXI7IC8vIEMtY2hhaW4gaWRcbiAgZGVzdGluYXRpb25CbG9ja2NoYWluSWQ6IEJ1ZmZlcjsgLy8gUC1jaGFpbiBpZFxuICBpbnB1dHM6IEZsYXJlRXhwb3J0SW5wdXRTaGFwZVtdO1xuICBvdXRwdXRzOiBGbGFyZUV4cG9ydE91dHB1dFNoYXBlW107XG59XG5cbmludGVyZmFjZSBGbGFyZVNpZ25lZEV4cG9ydFR4IHtcbiAgdW5zaWduZWRUeDogRmxhcmVVbnNpZ25lZEV4cG9ydFR4O1xuICAvLyBjcmVkZW50aWFscyBwbGFjZWhvbGRlclxuICBjcmVkZW50aWFsczogdW5rbm93bltdO1xufVxuXG50eXBlIFJhd0ZsYXJlRXhwb3J0VHggPSBGbGFyZVNpZ25lZEV4cG9ydFR4OyAvLyBmb3Igbm93IHRyZWF0IHRoZW0gdGhlIHNhbWVcblxuZXhwb3J0IGNsYXNzIEV4cG9ydEluQ1R4QnVpbGRlciBleHRlbmRzIEF0b21pY0luQ1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX2Ftb3VudD86IGJpZ2ludDtcbiAgcHJpdmF0ZSBfbm9uY2U/OiBiaWdpbnQ7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFV0eG9zIGFyZSBub3QgcmVxdWlyZWQgaW4gRXhwb3J0IFR4IGluIEMtQ2hhaW4uXG4gICAqIE92ZXJyaWRlIHV0eG9zIHRvIHByZXZlbnQgdXNlZCBieSB0aHJvd2luZyBhIGVycm9yLlxuICAgKlxuICAgKiBAcGFyYW0ge0RlY29kZWRVdHhvT2JqW119IHZhbHVlIGlnbm9yZWRcbiAgICovXG4gIHV0eG9zKF92YWx1ZTogdW5rbm93bltdKTogdGhpcyB7XG4gICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcigndXR4b3MgYXJlIG5vdCByZXF1aXJlZCBpbiBFeHBvcnQgVHggaW4gQy1DaGFpbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFtb3VudCBpcyBhIGxvbmcgdGhhdCBzcGVjaWZpZXMgdGhlIHF1YW50aXR5IG9mIHRoZSBhc3NldCB0aGF0IHRoaXMgb3V0cHV0IG93bnMuIE11c3QgYmUgcG9zaXRpdmUuXG4gICAqIFRoZSB0cmFuc2FjdGlvbiBvdXRwdXQgYW1vdW50IGFkZCBhIGZpeGVkIGZlZSB0aGF0IHdpbGwgYmUgcGFpZCB1cG9uIGltcG9ydC5cbiAgICpcbiAgICogQHBhcmFtIHtCTiB8IHN0cmluZ30gYW1vdW50IFRoZSB3aXRoZHJhd2FsIGFtb3VudFxuICAgKi9cbiAgYW1vdW50KGFtb3VudDogYmlnaW50IHwgbnVtYmVyIHwgc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgbiA9IHR5cGVvZiBhbW91bnQgPT09ICdiaWdpbnQnID8gYW1vdW50IDogQmlnSW50KGFtb3VudCk7XG4gICAgdGhpcy52YWxpZGF0ZUFtb3VudChuKTtcbiAgICB0aGlzLl9hbW91bnQgPSBuO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgbm9uY2Ugb2YgQy1DaGFpbiBzZW5kZXIgYWRkcmVzc1xuICAgKlxuICAgKiBAcGFyYW0ge251bWJlciB8IHN0cmluZ30gbm9uY2UgLSBudW1iZXIgdGhhdCBjYW4gYmUgb25seSB1c2VkIG9uY2VcbiAgICovXG4gIG5vbmNlKG5vbmNlOiBiaWdpbnQgfCBudW1iZXIgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCBuID0gdHlwZW9mIG5vbmNlID09PSAnYmlnaW50JyA/IG5vbmNlIDogQmlnSW50KG5vbmNlKTtcbiAgICB0aGlzLnZhbGlkYXRlTm9uY2Uobik7XG4gICAgdGhpcy5fbm9uY2UgPSBuO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cG9ydCB0eCB0YXJnZXQgUCB3YWxsZXQuXG4gICAqXG4gICAqIEBwYXJhbSBwQWRkcmVzc2VzXG4gICAqL1xuICB0byhwQWRkcmVzc2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHRoaXMge1xuICAgIGNvbnN0IHB1YktleXMgPSBBcnJheS5pc0FycmF5KHBBZGRyZXNzZXMpID8gcEFkZHJlc3NlcyA6IHBBZGRyZXNzZXMuc3BsaXQoJ34nKTtcbiAgICAvLyBGb3Igbm93IGVuc3VyZSB0aGV5IGFyZSBzdG9yZWQgYXMgYmVjaDMyIC8gc3RyaW5nIGFkZHJlc3NlcyBkaXJlY3RseVxuICAgIHRoaXMudHJhbnNhY3Rpb24uX3RvID0gcHViS2V5cy5tYXAoKGEpID0+IGEudG9TdHJpbmcoKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuRXhwb3J0O1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIocmF3OiBSYXdGbGFyZUV4cG9ydFR4KTogdGhpcyB7XG4gICAgLy8gQmFzaWMgc2hhcGUgdmFsaWRhdGlvblxuICAgIGNvbnN0IHVuc2lnbmVkID0gcmF3LnVuc2lnbmVkVHg7XG4gICAgaWYgKHVuc2lnbmVkLm5ldHdvcmtJZCAhPT0gdGhpcy50cmFuc2FjdGlvbi5fbmV0d29ya0lEKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05ldHdvcmsgSUQgbWlzbWF0Y2gnKTtcbiAgICB9XG4gICAgaWYgKCF1bnNpZ25lZC5zb3VyY2VCbG9ja2NoYWluSWQuZXF1YWxzKHRoaXMudHJhbnNhY3Rpb24uX2Jsb2NrY2hhaW5JRCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQmxvY2tjaGFpbiBJRCBtaXNtYXRjaCcpO1xuICAgIH1cbiAgICBpZiAodW5zaWduZWQub3V0cHV0cy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIGNhbiBoYXZlIG9uZSBvdXRwdXQnKTtcbiAgICB9XG4gICAgaWYgKHVuc2lnbmVkLmlucHV0cy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIGNhbiBoYXZlIG9uZSBpbnB1dCcpO1xuICAgIH1cbiAgICBjb25zdCBvdXQgPSB1bnNpZ25lZC5vdXRwdXRzWzBdO1xuICAgIGNvbnN0IGlucCA9IHVuc2lnbmVkLmlucHV0c1swXTtcbiAgICBpZiAoIW91dC5hc3NldElkLmVxdWFscyh0aGlzLnRyYW5zYWN0aW9uLl9hc3NldElkKSB8fCAhaW5wLmFzc2V0SWQuZXF1YWxzKHRoaXMudHJhbnNhY3Rpb24uX2Fzc2V0SWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Fzc2V0SUQgbWlzbWF0Y2gnKTtcbiAgICB9XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fdG8gPSBvdXQuYWRkcmVzc2VzO1xuICAgIHRoaXMuX2Ftb3VudCA9IG91dC5hbW91bnQ7XG4gICAgY29uc3QgZmVlID0gaW5wLmFtb3VudCAtIG91dC5hbW91bnQ7XG4gICAgaWYgKGZlZSA8IDBuKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdDb21wdXRlZCBmZWUgaXMgbmVnYXRpdmUnKTtcbiAgICB9XG4gICAgY29uc3QgZml4ZWQgPSB0aGlzLmZpeGVkRmVlO1xuICAgIGNvbnN0IGZlZVJhdGUgPSBmZWUgLSBmaXhlZDtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlUmF0ZSA9IGZlZVJhdGUudG9TdHJpbmcoKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlID0gZmVlLnRvU3RyaW5nKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fZmVlLnNpemUgPSAxO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uX2Zyb21BZGRyZXNzZXMgPSBbaW5wLmFkZHJlc3NdO1xuICAgIHRoaXMuX25vbmNlID0gaW5wLm5vbmNlO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb24ocmF3KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIEZvciBwYXJpdHkgd2l0aCBBdmFsYW5jaGUgYnVpbGRlciBpbnRlcmZhY2VzOyBhbHdheXMgcmV0dXJucyB0cnVlIGZvciBwbGFjZWhvbGRlclxuICAvL1RPRE86IFdJTi02MzIyXG4gIHN0YXRpYyB2ZXJpZnlUeFR5cGUoX3R4OiB1bmtub3duKTogX3R4IGlzIEZsYXJlVW5zaWduZWRFeHBvcnRUeCB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB2ZXJpZnlUeFR5cGUoX3R4OiB1bmtub3duKTogX3R4IGlzIEZsYXJlVW5zaWduZWRFeHBvcnRUeCB7XG4gICAgcmV0dXJuIEV4cG9ydEluQ1R4QnVpbGRlci52ZXJpZnlUeFR5cGUoX3R4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgZXhwb3J0IGluIEMtY2hhaW4gdHJhbnNhY3Rpb25cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkRmxhcmVUcmFuc2FjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi5oYXNDcmVkZW50aWFscykgcmV0dXJuOyAvLyBwbGFjZWhvbGRlcjogY3JlZGVudGlhbHMgbm90IHlldCBpbXBsZW1lbnRlZFxuICAgIGlmICh0aGlzLl9hbW91bnQgPT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKCdhbW91bnQgaXMgcmVxdWlyZWQnKTtcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi5fZnJvbUFkZHJlc3Nlcy5sZW5ndGggIT09IDEpIHRocm93IG5ldyBFcnJvcignc2VuZGVyIGlzIG9uZSBhbmQgcmVxdWlyZWQnKTtcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi5fdG8ubGVuZ3RoID09PSAwKSB0aHJvdyBuZXcgRXJyb3IoJ3RvIGlzIHJlcXVpcmVkJyk7XG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlUmF0ZSkgdGhyb3cgbmV3IEVycm9yKCdmZWUgcmF0ZSBpcyByZXF1aXJlZCcpO1xuICAgIGlmICh0aGlzLl9ub25jZSA9PT0gdW5kZWZpbmVkKSB0aHJvdyBuZXcgRXJyb3IoJ25vbmNlIGlzIHJlcXVpcmVkJyk7XG5cbiAgICAvLyBDb21wb3NlIHBsYWNlaG9sZGVyIHVuc2lnbmVkIHR4IHNoYXBlXG4gICAgY29uc3QgZmVlUmF0ZSA9IEJpZ0ludCh0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlUmF0ZSk7XG4gICAgY29uc3QgZml4ZWQgPSB0aGlzLmZpeGVkRmVlO1xuICAgIGNvbnN0IHRvdGFsRmVlID0gZmVlUmF0ZSArIGZpeGVkO1xuICAgIGNvbnN0IGlucHV0OiBGbGFyZUV4cG9ydElucHV0U2hhcGUgPSB7XG4gICAgICBhZGRyZXNzOiB0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzWzBdLFxuICAgICAgYW1vdW50OiB0aGlzLl9hbW91bnQgKyB0b3RhbEZlZSxcbiAgICAgIGFzc2V0SWQ6IHRoaXMudHJhbnNhY3Rpb24uX2Fzc2V0SWQsXG4gICAgICBub25jZTogdGhpcy5fbm9uY2UsXG4gICAgfTtcbiAgICBjb25zdCBvdXRwdXQ6IEZsYXJlRXhwb3J0T3V0cHV0U2hhcGUgPSB7XG4gICAgICBhZGRyZXNzZXM6IHRoaXMudHJhbnNhY3Rpb24uX3RvLFxuICAgICAgYW1vdW50OiB0aGlzLl9hbW91bnQsXG4gICAgICBhc3NldElkOiB0aGlzLnRyYW5zYWN0aW9uLl9hc3NldElkLFxuICAgIH07XG4gICAgY29uc3QgdW5zaWduZWQ6IEZsYXJlVW5zaWduZWRFeHBvcnRUeCA9IHtcbiAgICAgIG5ldHdvcmtJZDogdGhpcy50cmFuc2FjdGlvbi5fbmV0d29ya0lELFxuICAgICAgc291cmNlQmxvY2tjaGFpbklkOiB0aGlzLnRyYW5zYWN0aW9uLl9ibG9ja2NoYWluSUQsXG4gICAgICBkZXN0aW5hdGlvbkJsb2NrY2hhaW5JZDogdGhpcy5fZXh0ZXJuYWxDaGFpbklkIHx8IEJ1ZmZlci5hbGxvYygwKSxcbiAgICAgIGlucHV0czogW2lucHV0XSxcbiAgICAgIG91dHB1dHM6IFtvdXRwdXRdLFxuICAgIH07XG4gICAgY29uc3Qgc2lnbmVkOiBGbGFyZVNpZ25lZEV4cG9ydFR4ID0geyB1bnNpZ25lZFR4OiB1bnNpZ25lZCwgY3JlZGVudGlhbHM6IFtdIH07XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fZmVlLmZlZSA9IHRvdGFsRmVlLnRvU3RyaW5nKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fZmVlLnNpemUgPSAxO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb24oc2lnbmVkKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhdzogc3RyaW5nIHwgUmF3RmxhcmVFeHBvcnRUeCk6IHsgX3R4PzogdW5rbm93biB9IHtcbiAgICBpZiAodHlwZW9mIHJhdyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIEZ1dHVyZTogcGFyc2UgaGV4IG9yIHNlcmlhbGl6ZWQgZm9ybS4gRm9yIG5vdyB0cmVhdCBhcyBvcGFxdWUgcmF3IHR4LlxuICAgICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvbihyYXcpO1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmluaXRCdWlsZGVyKHJhdykudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdGhlIGFtb3VudCBpcyBwb3NpdGl2ZS5cbiAgICogQHBhcmFtIGFtb3VudFxuICAgKi9cbiAgdmFsaWRhdGVOb25jZShub25jZTogYmlnaW50KTogdm9pZCB7XG4gICAgaWYgKG5vbmNlIDwgMG4pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ05vbmNlIG11c3QgYmUgZ3JlYXRlciBvciBlcXVhbCB0aGFuIDAnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0SW5DVHhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9leHBvcnRJbkNUeEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQThFO0FBRTlFLCtFQUE0RTtBQWdDNUUsTUFBYSxrQkFBbUIsU0FBUSx5REFBMkI7SUFJakUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLE1BQWlCO1FBQ3JCLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxNQUFnQztRQUNyQyxNQUFNLENBQUMsR0FBRyxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxLQUErQjtRQUNuQyxNQUFNLENBQUMsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEVBQUUsQ0FBQyxVQUE2QjtRQUM5QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FB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LEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLEdBQThCO1FBQ3pELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsd0VBQXdFO1lBQ3hFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLEtBQWE7UUFDekIsSUFBSSxLQUFLLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksZ0NBQXFCLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBakxELGdEQWlMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQXRvbWljSW5DVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9hdG9taWNJbkNUcmFuc2FjdGlvbkJ1aWxkZXInO1xuXG4vLyBMaWdodHdlaWdodCBpbnRlcmZhY2UgcGxhY2Vob2xkZXJzIHJlcGxhY2luZyBBdmFsYW5jaGUgU0RLIHRyYW5zYWN0aW9uIHNoYXBlc1xuaW50ZXJmYWNlIEZsYXJlRXhwb3J0SW5wdXRTaGFwZSB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBiaWdpbnQ7IC8vIGluY2x1ZGVzIGV4cG9ydGVkIGFtb3VudCArIGZlZVxuICBhc3NldElkOiBCdWZmZXI7XG4gIG5vbmNlOiBiaWdpbnQ7XG59XG5cbmludGVyZmFjZSBGbGFyZUV4cG9ydE91dHB1dFNoYXBlIHtcbiAgYWRkcmVzc2VzOiBzdHJpbmdbXTsgLy8gZGVzdGluYXRpb24gUC1jaGFpbiBhZGRyZXNzZXNcbiAgYW1vdW50OiBiaWdpbnQ7IC8vIGV4cG9ydGVkIGFtb3VudFxuICBhc3NldElkOiBCdWZmZXI7XG59XG5cbmludGVyZmFjZSBGbGFyZVVuc2lnbmVkRXhwb3J0VHgge1xuICBuZXR3b3JrSWQ6IG51bWJlcjtcbiAgc291cmNlQmxvY2tjaGFpbklkOiBCdWZmZXI7IC8vIEMtY2hhaW4gaWRcbiAgZGVzdGluYXRpb25CbG9ja2NoYWluSWQ6IEJ1ZmZlcjsgLy8gUC1jaGFpbiBpZFxuICBpbnB1dHM6IEZsYXJlRXhwb3J0SW5wdXRTaGFwZVtdO1xuICBvdXRwdXRzOiBGbGFyZUV4cG9ydE91dHB1dFNoYXBlW107XG59XG5cbmludGVyZmFjZSBGbGFyZVNpZ25lZEV4cG9ydFR4IHtcbiAgdW5zaWduZWRUeDogRmxhcmVVbnNpZ25lZEV4cG9ydFR4O1xuICAvLyBjcmVkZW50aWFscyBwbGFjZWhvbGRlclxuICBjcmVkZW50aWFsczogdW5rbm93bltdO1xufVxuXG50eXBlIFJhd0ZsYXJlRXhwb3J0VHggPSBGbGFyZVNpZ25lZEV4cG9ydFR4OyAvLyBmb3Igbm93IHRyZWF0IHRoZW0gdGhlIHNhbWVcblxuZXhwb3J0IGNsYXNzIEV4cG9ydEluQ1R4QnVpbGRlciBleHRlbmRzIEF0b21pY0luQ1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX2Ftb3VudD86IGJpZ2ludDtcbiAgcHJpdmF0ZSBfbm9uY2U/OiBiaWdpbnQ7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFV0eG9zIGFyZSBub3QgcmVxdWlyZWQgaW4gRXhwb3J0IFR4IGluIEMtQ2hhaW4uXG4gICAqIE92ZXJyaWRlIHV0eG9zIHRvIHByZXZlbnQgdXNlZCBieSB0aHJvd2luZyBhIGVycm9yLlxuICAgKlxuICAgKiBAcGFyYW0ge0RlY29kZWRVdHhvT2JqW119IHZhbHVlIGlnbm9yZWRcbiAgICovXG4gIHV0eG9zKF92YWx1ZTogdW5rbm93bltdKTogdGhpcyB7XG4gICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcigndXR4b3MgYXJlIG5vdCByZXF1aXJlZCBpbiBFeHBvcnQgVHggaW4gQy1DaGFpbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFtb3VudCBpcyBhIGxvbmcgdGhhdCBzcGVjaWZpZXMgdGhlIHF1YW50aXR5IG9mIHRoZSBhc3NldCB0aGF0IHRoaXMgb3V0cHV0IG93bnMuIE11c3QgYmUgcG9zaXRpdmUuXG4gICAqIFRoZSB0cmFuc2FjdGlvbiBvdXRwdXQgYW1vdW50IGFkZCBhIGZpeGVkIGZlZSB0aGF0IHdpbGwgYmUgcGFpZCB1cG9uIGltcG9ydC5cbiAgICpcbiAgICogQHBhcmFtIHtCTiB8IHN0cmluZ30gYW1vdW50IFRoZSB3aXRoZHJhd2FsIGFtb3VudFxuICAgKi9cbiAgYW1vdW50KGFtb3VudDogYmlnaW50IHwgbnVtYmVyIHwgc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgbiA9IHR5cGVvZiBhbW91bnQgPT09ICdiaWdpbnQnID8gYW1vdW50IDogQmlnSW50KGFtb3VudCk7XG4gICAgdGhpcy52YWxpZGF0ZUFtb3VudChuKTtcbiAgICB0aGlzLl9hbW91bnQgPSBuO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgbm9uY2Ugb2YgQy1DaGFpbiBzZW5kZXIgYWRkcmVzc1xuICAgKlxuICAgKiBAcGFyYW0ge251bWJlciB8IHN0cmluZ30gbm9uY2UgLSBudW1iZXIgdGhhdCBjYW4gYmUgb25seSB1c2VkIG9uY2VcbiAgICovXG4gIG5vbmNlKG5vbmNlOiBiaWdpbnQgfCBudW1iZXIgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCBuID0gdHlwZW9mIG5vbmNlID09PSAnYmlnaW50JyA/IG5vbmNlIDogQmlnSW50KG5vbmNlKTtcbiAgICB0aGlzLnZhbGlkYXRlTm9uY2Uobik7XG4gICAgdGhpcy5fbm9uY2UgPSBuO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cG9ydCB0eCB0YXJnZXQgUCB3YWxsZXQuXG4gICAqXG4gICAqIEBwYXJhbSBwQWRkcmVzc2VzXG4gICAqL1xuICB0byhwQWRkcmVzc2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHRoaXMge1xuICAgIGNvbnN0IHB1YktleXMgPSBBcnJheS5pc0FycmF5KHBBZGRyZXNzZXMpID8gcEFkZHJlc3NlcyA6IHBBZGRyZXNzZXMuc3BsaXQoJ34nKTtcbiAgICAvLyBGb3Igbm93IGVuc3VyZSB0aGV5IGFyZSBzdG9yZWQgYXMgYmVjaDMyIC8gc3RyaW5nIGFkZHJlc3NlcyBkaXJlY3RseVxuICAgIHRoaXMudHJhbnNhY3Rpb24uX3RvID0gcHViS2V5cy5tYXAoKGEpID0+IGEudG9TdHJpbmcoKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuRXhwb3J0O1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIocmF3OiBSYXdGbGFyZUV4cG9ydFR4KTogdGhpcyB7XG4gICAgLy8gQmFzaWMgc2hhcGUgdmFsaWRhdGlvblxuICAgIGNvbnN0IHVuc2lnbmVkID0gcmF3LnVuc2lnbmVkVHg7XG4gICAgaWYgKHVuc2lnbmVkLm5ldHdvcmtJZCAhPT0gdGhpcy50cmFuc2FjdGlvbi5fbmV0d29ya0lEKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05ldHdvcmsgSUQgbWlzbWF0Y2gnKTtcbiAgICB9XG4gICAgaWYgKCF1bnNpZ25lZC5zb3VyY2VCbG9ja2NoYWluSWQuZXF1YWxzKHRoaXMudHJhbnNhY3Rpb24uX2Jsb2NrY2hhaW5JRCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQmxvY2tjaGFpbiBJRCBtaXNtYXRjaCcpO1xuICAgIH1cbiAgICBpZiAodW5zaWduZWQub3V0cHV0cy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIGNhbiBoYXZlIG9uZSBvdXRwdXQnKTtcbiAgICB9XG4gICAgaWYgKHVuc2lnbmVkLmlucHV0cy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIGNhbiBoYXZlIG9uZSBpbnB1dCcpO1xuICAgIH1cbiAgICBjb25zdCBvdXQgPSB1bnNpZ25lZC5vdXRwdXRzWzBdO1xuICAgIGNvbnN0IGlucCA9IHVuc2lnbmVkLmlucHV0c1swXTtcbiAgICBpZiAoIW91dC5hc3NldElkLmVxdWFscyh0aGlzLnRyYW5zYWN0aW9uLl9hc3NldElkKSB8fCAhaW5wLmFzc2V0SWQuZXF1YWxzKHRoaXMudHJhbnNhY3Rpb24uX2Fzc2V0SWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Fzc2V0SUQgbWlzbWF0Y2gnKTtcbiAgICB9XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fdG8gPSBvdXQuYWRkcmVzc2VzO1xuICAgIHRoaXMuX2Ftb3VudCA9IG91dC5hbW91bnQ7XG4gICAgY29uc3QgZmVlID0gaW5wLmFtb3VudCAtIG91dC5hbW91bnQ7XG4gICAgaWYgKGZlZSA8IDBuKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdDb21wdXRlZCBmZWUgaXMgbmVnYXRpdmUnKTtcbiAgICB9XG4gICAgY29uc3QgZml4ZWQgPSB0aGlzLmZpeGVkRmVlO1xuICAgIGNvbnN0IGZlZVJhdGUgPSBmZWUgLSBmaXhlZDtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlUmF0ZSA9IGZlZVJhdGUudG9TdHJpbmcoKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlID0gZmVlLnRvU3RyaW5nKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fZmVlLnNpemUgPSAxO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uX2Zyb21BZGRyZXNzZXMgPSBbaW5wLmFkZHJlc3NdO1xuICAgIHRoaXMuX25vbmNlID0gaW5wLm5vbmNlO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb24ocmF3KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIEZvciBwYXJpdHkgd2l0aCBBdmFsYW5jaGUgYnVpbGRlciBpbnRlcmZhY2VzOyBhbHdheXMgcmV0dXJucyB0cnVlIGZvciBwbGFjZWhvbGRlclxuICAvL1RPRE86IFdJTi02MzIyXG4gIHN0YXRpYyB2ZXJpZnlUeFR5cGUoX3R4OiB1bmtub3duKTogX3R4IGlzIEZsYXJlVW5zaWduZWRFeHBvcnRUeCB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB2ZXJpZnlUeFR5cGUoX3R4OiB1bmtub3duKTogX3R4IGlzIEZsYXJlVW5zaWduZWRFeHBvcnRUeCB7XG4gICAgcmV0dXJuIEV4cG9ydEluQ1R4QnVpbGRlci52ZXJpZnlUeFR5cGUoX3R4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgZXhwb3J0IGluIEMtY2hhaW4gdHJhbnNhY3Rpb25cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkRmxhcmVUcmFuc2FjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi5oYXNDcmVkZW50aWFscykge1xuICAgICAgcmV0dXJuOyAvLyBwbGFjZWhvbGRlcjogY3JlZGVudGlhbHMgbm90IHlldCBpbXBsZW1lbnRlZFxuICAgIH1cbiAgICBpZiAodGhpcy5fYW1vdW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYW1vdW50IGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzZW5kZXIgaXMgb25lIGFuZCByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi5fdG8ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvbi5fZmVlLmZlZVJhdGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZmVlIHJhdGUgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX25vbmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbm9uY2UgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICAvLyBDb21wb3NlIHBsYWNlaG9sZGVyIHVuc2lnbmVkIHR4IHNoYXBlXG4gICAgY29uc3QgZmVlUmF0ZSA9IEJpZ0ludCh0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlUmF0ZSk7XG4gICAgY29uc3QgZml4ZWQgPSB0aGlzLmZpeGVkRmVlO1xuICAgIGNvbnN0IHRvdGFsRmVlID0gZmVlUmF0ZSArIGZpeGVkO1xuICAgIGNvbnN0IGlucHV0OiBGbGFyZUV4cG9ydElucHV0U2hhcGUgPSB7XG4gICAgICBhZGRyZXNzOiB0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzWzBdLFxuICAgICAgYW1vdW50OiB0aGlzLl9hbW91bnQgKyB0b3RhbEZlZSxcbiAgICAgIGFzc2V0SWQ6IHRoaXMudHJhbnNhY3Rpb24uX2Fzc2V0SWQsXG4gICAgICBub25jZTogdGhpcy5fbm9uY2UsXG4gICAgfTtcbiAgICBjb25zdCBvdXRwdXQ6IEZsYXJlRXhwb3J0T3V0cHV0U2hhcGUgPSB7XG4gICAgICBhZGRyZXNzZXM6IHRoaXMudHJhbnNhY3Rpb24uX3RvLFxuICAgICAgYW1vdW50OiB0aGlzLl9hbW91bnQsXG4gICAgICBhc3NldElkOiB0aGlzLnRyYW5zYWN0aW9uLl9hc3NldElkLFxuICAgIH07XG4gICAgY29uc3QgdW5zaWduZWQ6IEZsYXJlVW5zaWduZWRFeHBvcnRUeCA9IHtcbiAgICAgIG5ldHdvcmtJZDogdGhpcy50cmFuc2FjdGlvbi5fbmV0d29ya0lELFxuICAgICAgc291cmNlQmxvY2tjaGFpbklkOiB0aGlzLnRyYW5zYWN0aW9uLl9ibG9ja2NoYWluSUQsXG4gICAgICBkZXN0aW5hdGlvbkJsb2NrY2hhaW5JZDogdGhpcy5fZXh0ZXJuYWxDaGFpbklkIHx8IEJ1ZmZlci5hbGxvYygwKSxcbiAgICAgIGlucHV0czogW2lucHV0XSxcbiAgICAgIG91dHB1dHM6IFtvdXRwdXRdLFxuICAgIH07XG4gICAgY29uc3Qgc2lnbmVkOiBGbGFyZVNpZ25lZEV4cG9ydFR4ID0geyB1bnNpZ25lZFR4OiB1bnNpZ25lZCwgY3JlZGVudGlhbHM6IFtdIH07XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fZmVlLmZlZSA9IHRvdGFsRmVlLnRvU3RyaW5nKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fZmVlLnNpemUgPSAxO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb24oc2lnbmVkKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhdzogc3RyaW5nIHwgUmF3RmxhcmVFeHBvcnRUeCk6IHsgX3R4PzogdW5rbm93biB9IHtcbiAgICBpZiAodHlwZW9mIHJhdyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIEZ1dHVyZTogcGFyc2UgaGV4IG9yIHNlcmlhbGl6ZWQgZm9ybS4gRm9yIG5vdyB0cmVhdCBhcyBvcGFxdWUgcmF3IHR4LlxuICAgICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvbihyYXcpO1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmluaXRCdWlsZGVyKHJhdykudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdGhlIGFtb3VudCBpcyBwb3NpdGl2ZS5cbiAgICogQHBhcmFtIGFtb3VudFxuICAgKi9cbiAgdmFsaWRhdGVOb25jZShub25jZTogYmlnaW50KTogdm9pZCB7XG4gICAgaWYgKG5vbmNlIDwgMG4pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ05vbmNlIG11c3QgYmUgZ3JlYXRlciBvciBlcXVhbCB0aGFuIDAnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,29 +1,118 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ const statics_1 = require("@bitgo-beta/statics");
37
+ const assert = __importStar(require("assert"));
38
+ const flrp_1 = require("../../src/flrp");
3
39
  const sdk_test_1 = require("@bitgo-beta/sdk-test");
4
40
  const sdk_api_1 = require("@bitgo-beta/sdk-api");
5
- const flrp_1 = require("../../src/flrp");
6
- const statics_1 = require("@bitgo-beta/statics");
7
41
  describe('Flrp', function () {
8
42
  let bitgo;
43
+ const staticsCoin = statics_1.coins.get('flrp');
9
44
  before(function () {
10
45
  bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'mock' });
11
46
  bitgo.initializeTestVars();
12
47
  // Attempt to register the coin symbol; safeRegister is idempotent.
13
48
  bitgo.safeRegister?.('flrp', flrp_1.Flrp.createInstance);
14
49
  });
15
- it('createInstance returns a Flrp instance', function () {
16
- const staticsCoin = statics_1.coins.get('flrp');
17
- const coin = flrp_1.Flrp.createInstance(bitgo, staticsCoin);
18
- coin.should.be.instanceOf(flrp_1.Flrp);
50
+ describe('createInstance', function () {
51
+ it('should return a Flrp instance', function () {
52
+ const coin = flrp_1.Flrp.createInstance(bitgo, staticsCoin);
53
+ assert.ok(coin instanceof flrp_1.Flrp);
54
+ });
55
+ it('should produce distinct objects on multiple calls', function () {
56
+ const a = flrp_1.Flrp.createInstance(bitgo, staticsCoin);
57
+ const b = flrp_1.Flrp.createInstance(bitgo, staticsCoin);
58
+ assert.notStrictEqual(a, b);
59
+ assert.ok(a instanceof flrp_1.Flrp);
60
+ assert.ok(b instanceof flrp_1.Flrp);
61
+ });
62
+ });
63
+ describe('coin properties', function () {
64
+ let coin;
65
+ beforeEach(function () {
66
+ coin = flrp_1.Flrp.createInstance(bitgo, staticsCoin);
67
+ });
68
+ it('should have correct coin family', function () {
69
+ assert.strictEqual(coin.getFamily(), staticsCoin.family);
70
+ });
71
+ it('should have correct coin name', function () {
72
+ assert.strictEqual(coin.getFullName(), staticsCoin.fullName);
73
+ });
74
+ it('should have correct base factor', function () {
75
+ assert.strictEqual(coin.getBaseFactor(), Math.pow(10, staticsCoin.decimalPlaces));
76
+ });
77
+ it('should validate addresses using utils', function () {
78
+ const validAddress = 'flare1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6f4avh';
79
+ const result = coin.isValidAddress(validAddress);
80
+ assert.strictEqual(typeof result, 'boolean');
81
+ });
82
+ it('should generate key pairs', function () {
83
+ const keyPair = coin.generateKeyPair();
84
+ assert.ok('pub' in keyPair);
85
+ assert.ok('prv' in keyPair);
86
+ if (keyPair.pub && keyPair.prv) {
87
+ assert.strictEqual(typeof keyPair.pub, 'string');
88
+ assert.strictEqual(typeof keyPair.prv, 'string');
89
+ }
90
+ });
91
+ });
92
+ describe('error handling', function () {
93
+ it('should handle construction with invalid parameters', function () {
94
+ assert.throws(() => flrp_1.Flrp.createInstance(null, staticsCoin));
95
+ assert.throws(() => flrp_1.Flrp.createInstance(bitgo, null));
96
+ });
19
97
  });
20
- it('multiple createInstance calls produce distinct objects', function () {
21
- const sc = statics_1.coins.get('flrp');
22
- const a = flrp_1.Flrp.createInstance(bitgo, sc);
23
- const b = flrp_1.Flrp.createInstance(bitgo, sc);
24
- a.should.not.equal(b);
25
- a.should.be.instanceOf(flrp_1.Flrp);
26
- b.should.be.instanceOf(flrp_1.Flrp);
98
+ describe('inheritance and methods', function () {
99
+ let coin;
100
+ beforeEach(function () {
101
+ coin = flrp_1.Flrp.createInstance(bitgo, staticsCoin);
102
+ });
103
+ it('should have required base coin methods', function () {
104
+ assert.ok('getFamily' in coin);
105
+ assert.ok('getFullName' in coin);
106
+ assert.ok('getBaseFactor' in coin);
107
+ assert.ok('isValidAddress' in coin);
108
+ assert.ok('generateKeyPair' in coin);
109
+ });
110
+ it('should handle address validation consistently', function () {
111
+ const validAddress = 'flare1test';
112
+ const invalidAddress = 'invalid-address';
113
+ assert.strictEqual(typeof coin.isValidAddress(validAddress), 'boolean');
114
+ assert.strictEqual(typeof coin.isValidAddress(invalidAddress), 'boolean');
115
+ });
27
116
  });
28
117
  });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxycC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9mbHJwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsbURBQStEO0FBQy9ELGlEQUErQztBQUMvQyx5Q0FBc0M7QUFDdEMsaURBQTRDO0FBRTVDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7SUFDZixJQUFJLEtBQW1CLENBQUM7SUFFeEIsTUFBTSxDQUFDO1FBQ0wsS0FBSyxHQUFHLG9CQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixtRUFBbUU7UUFDbEUsS0FBMEYsQ0FBQyxZQUFZLEVBQUUsQ0FDeEcsTUFBTSxFQUNOLFdBQUksQ0FBQyxjQUFjLENBQ3BCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRTtRQUMzQyxNQUFNLFdBQVcsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLFdBQUksQ0FBQyxjQUFjLENBQUMsS0FBNkIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsd0RBQXdELEVBQUU7UUFDM0QsTUFBTSxFQUFFLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsR0FBRyxXQUFJLENBQUMsY0FBYyxDQUFDLEtBQTZCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakUsTUFBTSxDQUFDLEdBQUcsV0FBSSxDQUFDLGNBQWMsQ0FBQyxLQUE2QixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUZXN0Qml0R28sIFRlc3RCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay10ZXN0JztcbmltcG9ydCB7IEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWFwaSc7XG5pbXBvcnQgeyBGbHJwIH0gZnJvbSAnLi4vLi4vc3JjL2ZscnAnO1xuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuZGVzY3JpYmUoJ0ZscnAnLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBiaXRnbzogVGVzdEJpdEdvQVBJO1xuXG4gIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgYml0Z28gPSBUZXN0Qml0R28uZGVjb3JhdGUoQml0R29BUEksIHsgZW52OiAnbW9jaycgfSk7XG4gICAgYml0Z28uaW5pdGlhbGl6ZVRlc3RWYXJzKCk7XG4gICAgLy8gQXR0ZW1wdCB0byByZWdpc3RlciB0aGUgY29pbiBzeW1ib2w7IHNhZmVSZWdpc3RlciBpcyBpZGVtcG90ZW50LlxuICAgIChiaXRnbyBhcyB1bmtub3duIGFzIHsgc2FmZVJlZ2lzdGVyPzogKG46IHN0cmluZywgZjogKGJnOiBCaXRHb0Jhc2UpID0+IHVua25vd24pID0+IHZvaWQgfSkuc2FmZVJlZ2lzdGVyPy4oXG4gICAgICAnZmxycCcsXG4gICAgICBGbHJwLmNyZWF0ZUluc3RhbmNlXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ2NyZWF0ZUluc3RhbmNlIHJldHVybnMgYSBGbHJwIGluc3RhbmNlJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHN0YXRpY3NDb2luID0gY29pbnMuZ2V0KCdmbHJwJyk7XG4gICAgY29uc3QgY29pbiA9IEZscnAuY3JlYXRlSW5zdGFuY2UoYml0Z28gYXMgdW5rbm93biBhcyBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luKTtcbiAgICBjb2luLnNob3VsZC5iZS5pbnN0YW5jZU9mKEZscnApO1xuICB9KTtcblxuICBpdCgnbXVsdGlwbGUgY3JlYXRlSW5zdGFuY2UgY2FsbHMgcHJvZHVjZSBkaXN0aW5jdCBvYmplY3RzJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHNjID0gY29pbnMuZ2V0KCdmbHJwJyk7XG4gICAgY29uc3QgYSA9IEZscnAuY3JlYXRlSW5zdGFuY2UoYml0Z28gYXMgdW5rbm93biBhcyBCaXRHb0Jhc2UsIHNjKTtcbiAgICBjb25zdCBiID0gRmxycC5jcmVhdGVJbnN0YW5jZShiaXRnbyBhcyB1bmtub3duIGFzIEJpdEdvQmFzZSwgc2MpO1xuICAgIGEuc2hvdWxkLm5vdC5lcXVhbChiKTtcbiAgICBhLnNob3VsZC5iZS5pbnN0YW5jZU9mKEZscnApO1xuICAgIGIuc2hvdWxkLmJlLmluc3RhbmNlT2YoRmxycCk7XG4gIH0pO1xufSk7XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxycC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9mbHJwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQTRDO0FBQzVDLCtDQUFpQztBQUNqQyx5Q0FBc0M7QUFFdEMsbURBQStEO0FBQy9ELGlEQUErQztBQUUvQyxRQUFRLENBQUMsTUFBTSxFQUFFO0lBQ2YsSUFBSSxLQUFtQixDQUFDO0lBQ3hCLE1BQU0sV0FBVyxHQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFdEMsTUFBTSxDQUFDO1FBQ0wsS0FBSyxHQUFHLG9CQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixtRUFBbUU7UUFDbEUsS0FBMEYsQ0FBQyxZQUFZLEVBQUUsQ0FDeEcsTUFBTSxFQUNOLFdBQUksQ0FBQyxjQUFjLENBQ3BCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRTtRQUN6QixFQUFFLENBQUMsK0JBQStCLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEdBQUcsV0FBSSxDQUFDLGNBQWMsQ0FBQyxLQUE2QixFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzdFLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxZQUFZLFdBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLG1EQUFtRCxFQUFFO1lBQ3RELE1BQU0sQ0FBQyxHQUFHLFdBQUksQ0FBQyxjQUFjLENBQUMsS0FBNkIsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUMxRSxNQUFNLENBQUMsR0FBRyxXQUFJLENBQUMsY0FBYyxDQUFDLEtBQTZCLEVBQUUsV0FBVyxDQUFDLENBQUM7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d0MsRUFBRTtZQUMzQyxNQUFNLENBQUMsRUFBRSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUMvQixNQUFNLENBQUMsRUFBRSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUNqQyxNQUFNLENBQUMsRUFBRSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUNuQyxNQUFNLENBQUMsRUFBRSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxFQUFFLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsK0NBQStDLEVBQUU7WUFDbEQsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDO1lBQ2xDLE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDO1lBRXpDLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3hFLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IEZscnAgfSBmcm9tICcuLi8uLi9zcmMvZmxycCc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUZXN0Qml0R28sIFRlc3RCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay10ZXN0JztcbmltcG9ydCB7IEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWFwaSc7XG5cbmRlc2NyaWJlKCdGbHJwJywgZnVuY3Rpb24gKCkge1xuICBsZXQgYml0Z286IFRlc3RCaXRHb0FQSTtcbiAgY29uc3Qgc3RhdGljc0NvaW4gPSBjb2lucy5nZXQoJ2ZscnAnKTtcblxuICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgIGJpdGdvID0gVGVzdEJpdEdvLmRlY29yYXRlKEJpdEdvQVBJLCB7IGVudjogJ21vY2snIH0pO1xuICAgIGJpdGdvLmluaXRpYWxpemVUZXN0VmFycygpO1xuICAgIC8vIEF0dGVtcHQgdG8gcmVnaXN0ZXIgdGhlIGNvaW4gc3ltYm9sOyBzYWZlUmVnaXN0ZXIgaXMgaWRlbXBvdGVudC5cbiAgICAoYml0Z28gYXMgdW5rbm93biBhcyB7IHNhZmVSZWdpc3Rlcj86IChuOiBzdHJpbmcsIGY6IChiZzogQml0R29CYXNlKSA9PiB1bmtub3duKSA9PiB2b2lkIH0pLnNhZmVSZWdpc3Rlcj8uKFxuICAgICAgJ2ZscnAnLFxuICAgICAgRmxycC5jcmVhdGVJbnN0YW5jZVxuICAgICk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdjcmVhdGVJbnN0YW5jZScsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBhIEZscnAgaW5zdGFuY2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBjb2luID0gRmxycC5jcmVhdGVJbnN0YW5jZShiaXRnbyBhcyB1bmtub3duIGFzIEJpdEdvQmFzZSwgc3RhdGljc0NvaW4pO1xuICAgICAgYXNzZXJ0Lm9rKGNvaW4gaW5zdGFuY2VvZiBGbHJwKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcHJvZHVjZSBkaXN0aW5jdCBvYmplY3RzIG9uIG11bHRpcGxlIGNhbGxzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYSA9IEZscnAuY3JlYXRlSW5zdGFuY2UoYml0Z28gYXMgdW5rbm93biBhcyBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luKTtcbiAgICAgIGNvbnN0IGIgPSBGbHJwLmNyZWF0ZUluc3RhbmNlKGJpdGdvIGFzIHVua25vd24gYXMgQml0R29CYXNlLCBzdGF0aWNzQ29pbik7XG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYSwgYik7XG4gICAgICBhc3NlcnQub2soYSBpbnN0YW5jZW9mIEZscnApO1xuICAgICAgYXNzZXJ0Lm9rKGIgaW5zdGFuY2VvZiBGbHJwKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2NvaW4gcHJvcGVydGllcycsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgY29pbjogRmxycDtcblxuICAgIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgY29pbiA9IEZscnAuY3JlYXRlSW5zdGFuY2UoYml0Z28gYXMgdW5rbm93biBhcyBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luKSBhcyBGbHJwO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYXZlIGNvcnJlY3QgY29pbiBmYW1pbHknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY29pbi5nZXRGYW1pbHkoKSwgc3RhdGljc0NvaW4uZmFtaWx5KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaGF2ZSBjb3JyZWN0IGNvaW4gbmFtZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChjb2luLmdldEZ1bGxOYW1lKCksIHN0YXRpY3NDb2luLmZ1bGxOYW1lKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaGF2ZSBjb3JyZWN0IGJhc2UgZmFjdG9yJywgZnVuY3Rpb24gKCkge1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvaW4uZ2V0QmFzZUZhY3RvcigpLCBNYXRoLnBvdygxMCwgc3RhdGljc0NvaW4uZGVjaW1hbFBsYWNlcykpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhZGRyZXNzZXMgdXNpbmcgdXRpbHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB2YWxpZEFkZHJlc3MgPSAnZmxhcmUxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcTZmNGF2aCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBjb2luLmlzVmFsaWRBZGRyZXNzKHZhbGlkQWRkcmVzcyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHJlc3VsdCwgJ2Jvb2xlYW4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZ2VuZXJhdGUga2V5IHBhaXJzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qga2V5UGFpciA9IGNvaW4uZ2VuZXJhdGVLZXlQYWlyKCk7XG4gICAgICBhc3NlcnQub2soJ3B1YicgaW4ga2V5UGFpcik7XG4gICAgICBhc3NlcnQub2soJ3BydicgaW4ga2V5UGFpcik7XG4gICAgICBpZiAoa2V5UGFpci5wdWIgJiYga2V5UGFpci5wcnYpIHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBrZXlQYWlyLnB1YiwgJ3N0cmluZycpO1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGtleVBhaXIucHJ2LCAnc3RyaW5nJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdlcnJvciBoYW5kbGluZycsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBjb25zdHJ1Y3Rpb24gd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IEZscnAuY3JlYXRlSW5zdGFuY2UobnVsbCBhcyB1bmtub3duIGFzIEJpdEdvQmFzZSwgc3RhdGljc0NvaW4pKTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gRmxycC5jcmVhdGVJbnN0YW5jZShiaXRnbyBhcyB1bmtub3duIGFzIEJpdEdvQmFzZSwgbnVsbCBhcyB1bmtub3duIGFzIHR5cGVvZiBzdGF0aWNzQ29pbikpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaW5oZXJpdGFuY2UgYW5kIG1ldGhvZHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGNvaW46IEZscnA7XG5cbiAgICBiZWZvcmVFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvaW4gPSBGbHJwLmNyZWF0ZUluc3RhbmNlKGJpdGdvIGFzIHVua25vd24gYXMgQml0R29CYXNlLCBzdGF0aWNzQ29pbikgYXMgRmxycDtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaGF2ZSByZXF1aXJlZCBiYXNlIGNvaW4gbWV0aG9kcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC5vaygnZ2V0RmFtaWx5JyBpbiBjb2luKTtcbiAgICAgIGFzc2VydC5vaygnZ2V0RnVsbE5hbWUnIGluIGNvaW4pO1xuICAgICAgYXNzZXJ0Lm9rKCdnZXRCYXNlRmFjdG9yJyBpbiBjb2luKTtcbiAgICAgIGFzc2VydC5vaygnaXNWYWxpZEFkZHJlc3MnIGluIGNvaW4pO1xuICAgICAgYXNzZXJ0Lm9rKCdnZW5lcmF0ZUtleVBhaXInIGluIGNvaW4pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgYWRkcmVzcyB2YWxpZGF0aW9uIGNvbnNpc3RlbnRseScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHZhbGlkQWRkcmVzcyA9ICdmbGFyZTF0ZXN0JztcbiAgICAgIGNvbnN0IGludmFsaWRBZGRyZXNzID0gJ2ludmFsaWQtYWRkcmVzcyc7XG5cbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgY29pbi5pc1ZhbGlkQWRkcmVzcyh2YWxpZEFkZHJlc3MpLCAnYm9vbGVhbicpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBjb2luLmlzVmFsaWRBZGRyZXNzKGludmFsaWRBZGRyZXNzKSwgJ2Jvb2xlYW4nKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=atomicTransactionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomicTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/lib/atomicTransactionBuilder.ts"],"names":[],"mappings":""}