@bitgo-beta/sdk-coin-flrp 1.0.1-beta.2 → 1.0.1-beta.20

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.
Files changed (29) hide show
  1. package/dist/src/flrp.d.ts.map +1 -1
  2. package/dist/src/flrp.js +11 -2
  3. package/dist/src/lib/atomicInCTransactionBuilder.d.ts +26 -0
  4. package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +1 -0
  5. package/dist/src/lib/atomicInCTransactionBuilder.js +64 -0
  6. package/dist/src/lib/atomicTransactionBuilder.d.ts +23 -4
  7. package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
  8. package/dist/src/lib/atomicTransactionBuilder.js +70 -4
  9. package/dist/src/lib/exportInCTxBuilder.d.ts +77 -0
  10. package/dist/src/lib/exportInCTxBuilder.d.ts.map +1 -0
  11. package/dist/src/lib/exportInCTxBuilder.js +170 -0
  12. package/dist/src/lib/{exportTxBuilder.d.ts → exportInPTxBuilder.d.ts} +2 -2
  13. package/dist/src/lib/exportInPTxBuilder.d.ts.map +1 -0
  14. package/dist/src/lib/exportInPTxBuilder.js +56 -0
  15. package/dist/test/unit/flrp.js +103 -14
  16. package/dist/test/unit/lib/atomicTransactionBuilder.d.ts +2 -0
  17. package/dist/test/unit/lib/atomicTransactionBuilder.d.ts.map +1 -0
  18. package/dist/test/unit/lib/atomicTransactionBuilder.js +196 -0
  19. package/dist/test/unit/lib/exportTxBuilder.d.ts +2 -0
  20. package/dist/test/unit/lib/exportTxBuilder.d.ts.map +1 -0
  21. package/dist/test/unit/lib/exportTxBuilder.js +45 -0
  22. package/dist/test/unit/lib/utils.d.ts +2 -0
  23. package/dist/test/unit/lib/utils.d.ts.map +1 -0
  24. package/dist/test/unit/lib/utils.js +232 -0
  25. package/dist/test/unit/smoke.js +18 -4
  26. package/dist/tsconfig.tsbuildinfo +1 -1
  27. package/package.json +6 -6
  28. package/dist/src/lib/exportTxBuilder.d.ts.map +0 -1
  29. package/dist/src/lib/exportTxBuilder.js +0 -56
@@ -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":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,OAAO,EACP,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,+BAA+B,EAC/B,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,oCAAoC,EACpC,4BAA4B,EAC5B,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,YAAY,EACZ,MAAM,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,OAAO,EACR,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,qBAAa,IAAK,SAAQ,QAAQ;IAChC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAE3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAQ/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,QAAQ,IAAI,MAAM;IAGlB,SAAS,IAAI,UAAU;IAGvB,WAAW,IAAI,MAAM;IAGrB,aAAa,IAAI,MAAM,GAAG,MAAM;IAMhC,WAAW,IAAI,OAAO;IAGtB,sBAAsB,IAAI,OAAO;IAGjC,wBAAwB,IAAI,OAAO;IAGnC,mBAAmB,IAAI,OAAO;IAG9B,iBAAiB,IAAI,OAAO;IAG5B,cAAc,IAAI,OAAO;IAGzB,KAAK,IAAI,OAAO;IAQhB,eAAe,IAAI,OAAO;IAW1B,mBAAmB,IAAI,OAAO;IAG9B,gBAAgB,IAAI,MAAM,EAAE;IAG5B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAGjC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAGzC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAGpD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAGzC,cAAc,CAAC,UAAU,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI;IAKxE,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAG9D,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAGhE,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtE,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI5E,kBAAkB,CACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;IAInE,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI9E,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAI1F,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIhF,sBAAsB,CAAC,YAAY,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIlG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1D,oBAAoB,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAMvG,wBAAwB,CAC5B,aAAa,EAAE,+BAA+B,EAC9C,UAAU,EAAE,gBAAgB,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGnC,eAAe,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO;IAG/C,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAGpD,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,KAAK;IAKnD,WAAW,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAGrE,mBAAmB,CACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,EACxB,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GACtB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAGvC,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAGhE,eAAe,IAAI,YAAY;IAK/B,YAAY,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAGlF,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM,GAAG,4BAA4B;IAGjG,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAK3D,eAAe,IAAI,IAAI;IAGvB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE;IAG7F,6BAA6B,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,oCAAoC,GAAG,IAAI;IAG5G,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAG/C,iBAAiB,IAAI,IAAI;CAG1B"}
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=
@@ -0,0 +1,26 @@
1
+ import { AtomicTransactionBuilder } from './atomicTransactionBuilder';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ /**
4
+ * Flare P->C atomic import/export style builder (C-chain context). This adapts the AVAXP logic
5
+ * removing direct Avalanche SDK dependencies. Network / chain ids are expected to be provided
6
+ * in the transaction._network object by a higher-level factory once Flare network constants
7
+ * are finalized. For now we CB58-decode placeholders if present and default to zero buffers.
8
+ */
9
+ export declare abstract class AtomicInCTransactionBuilder extends AtomicTransactionBuilder {
10
+ protected fixedFee: bigint;
11
+ constructor(_coinConfig: Readonly<CoinConfig>);
12
+ /**
13
+ * Set base fee (already scaled to Flare C-chain native decimals). Accept bigint | number | string.
14
+ */
15
+ feeRate(baseFee: bigint | number | string): this;
16
+ /**
17
+ * Recreate builder state from raw tx (hex). Flare C-chain support TBD; for now validate & stash.
18
+ */
19
+ protected fromImplementation(rawTransaction: string): {
20
+ _tx?: unknown;
21
+ };
22
+ private validateFee;
23
+ private initializeChainIds;
24
+ private setFeeRate;
25
+ }
26
+ //# sourceMappingURL=atomicInCTransactionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomicInCTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/atomicInCTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAe7D;;;;;GAKG;AACH,8BAAsB,2BAA4B,SAAQ,wBAAwB;IAEhF,SAAS,CAAC,QAAQ,SAAM;gBACZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAOhD;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE;IASvE,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,UAAU;CAKnB"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AtomicInCTransactionBuilder = void 0;
7
+ const atomicTransactionBuilder_1 = require("./atomicTransactionBuilder");
8
+ const utils_1 = __importDefault(require("./utils"));
9
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
10
+ /**
11
+ * Flare P->C atomic import/export style builder (C-chain context). This adapts the AVAXP logic
12
+ * removing direct Avalanche SDK dependencies. Network / chain ids are expected to be provided
13
+ * in the transaction._network object by a higher-level factory once Flare network constants
14
+ * are finalized. For now we CB58-decode placeholders if present and default to zero buffers.
15
+ */
16
+ class AtomicInCTransactionBuilder extends atomicTransactionBuilder_1.AtomicTransactionBuilder {
17
+ constructor(_coinConfig) {
18
+ super(_coinConfig);
19
+ // Placeholder fixed fee (can be overridden by subclasses or network config)
20
+ this.fixedFee = 0n;
21
+ this.initializeChainIds();
22
+ }
23
+ /**
24
+ * Set base fee (already scaled to Flare C-chain native decimals). Accept bigint | number | string.
25
+ */
26
+ feeRate(baseFee) {
27
+ const n = typeof baseFee === 'bigint' ? baseFee : BigInt(baseFee);
28
+ this.validateFee(n);
29
+ this.setFeeRate(n);
30
+ return this;
31
+ }
32
+ /**
33
+ * Recreate builder state from raw tx (hex). Flare C-chain support TBD; for now validate & stash.
34
+ */
35
+ fromImplementation(rawTransaction) {
36
+ // If utils has validateRawTransaction use it; otherwise basic check
37
+ if (utils_1.default.validateRawTransaction) {
38
+ utils_1.default.validateRawTransaction(rawTransaction);
39
+ }
40
+ this.transaction.setTransaction(rawTransaction);
41
+ return this.transaction;
42
+ }
43
+ validateFee(fee) {
44
+ if (fee <= 0n) {
45
+ throw new sdk_core_1.BuildTransactionError('Fee must be greater than 0');
46
+ }
47
+ }
48
+ initializeChainIds() {
49
+ const meta = this.transaction._network;
50
+ if (meta?.blockchainID) {
51
+ this._externalChainId = utils_1.default.cb58Decode(meta.blockchainID);
52
+ }
53
+ if (meta?.cChainBlockchainID) {
54
+ this.transaction._blockchainID = utils_1.default.cb58Decode(meta.cChainBlockchainID);
55
+ }
56
+ }
57
+ setFeeRate(n) {
58
+ const currentContainer = this.transaction;
59
+ const current = currentContainer._fee || { fee: '0' };
60
+ currentContainer._fee = { ...current, feeRate: n.toString() };
61
+ }
62
+ }
63
+ exports.AtomicInCTransactionBuilder = AtomicInCTransactionBuilder;
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbWljSW5DVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hdG9taWNJbkNUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEseUVBQXNFO0FBRXRFLG9EQUE0QjtBQUM1QixtREFBNkQ7QUFhN0Q7Ozs7O0dBS0c7QUFDSCxNQUFzQiwyQkFBNEIsU0FBUSxtREFBd0I7SUFHaEYsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFIckIsNEVBQTRFO1FBQ2xFLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFHdEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLE9BQWlDO1FBQ3ZDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ08sa0JBQWtCLENBQUMsY0FBc0I7UUFDakQsb0VBQW9FO1FBQ3BFLElBQUssZUFBcUUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2pHLGVBQW9FLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0csQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRU8sV0FBVyxDQUFDLEdBQVc7UUFDN0IsSUFBSSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksZ0NBQXFCLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQWlDLENBQUM7UUFDaEUsSUFBSSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxJQUFJLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxHQUFHLGVBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDN0UsQ0FBQztJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsQ0FBUztRQUMxQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUE0QyxDQUFDO1FBQzNFLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLElBQUksSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN0RCxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDaEUsQ0FBQztDQUNGO0FBbkRELGtFQW1EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vYXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuaW50ZXJmYWNlIEZsYXJlQ2hhaW5OZXR3b3JrTWV0YSB7XG4gIGJsb2NrY2hhaW5JRD86IHN0cmluZzsgLy8gUC1jaGFpbiBpZCAoZXh0ZXJuYWwpXG4gIGNDaGFpbkJsb2NrY2hhaW5JRD86IHN0cmluZzsgLy8gQy1jaGFpbiBpZCAobG9jYWwpXG4gIFtrOiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5pbnRlcmZhY2UgRmVlU2hhcGUge1xuICBmZWU/OiBzdHJpbmc7IC8vIGxlZ2FjeVxuICBmZWVSYXRlPzogc3RyaW5nOyAvLyBwZXIgdW5pdCByYXRlXG59XG5cbi8qKlxuICogRmxhcmUgUC0+QyBhdG9taWMgaW1wb3J0L2V4cG9ydCBzdHlsZSBidWlsZGVyIChDLWNoYWluIGNvbnRleHQpLiBUaGlzIGFkYXB0cyB0aGUgQVZBWFAgbG9naWNcbiAqIHJlbW92aW5nIGRpcmVjdCBBdmFsYW5jaGUgU0RLIGRlcGVuZGVuY2llcy4gTmV0d29yayAvIGNoYWluIGlkcyBhcmUgZXhwZWN0ZWQgdG8gYmUgcHJvdmlkZWRcbiAqIGluIHRoZSB0cmFuc2FjdGlvbi5fbmV0d29yayBvYmplY3QgYnkgYSBoaWdoZXItbGV2ZWwgZmFjdG9yeSBvbmNlIEZsYXJlIG5ldHdvcmsgY29uc3RhbnRzXG4gKiBhcmUgZmluYWxpemVkLiBGb3Igbm93IHdlIENCNTgtZGVjb2RlIHBsYWNlaG9sZGVycyBpZiBwcmVzZW50IGFuZCBkZWZhdWx0IHRvIHplcm8gYnVmZmVycy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF0b21pY0luQ1RyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIC8vIFBsYWNlaG9sZGVyIGZpeGVkIGZlZSAoY2FuIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3NlcyBvciBuZXR3b3JrIGNvbmZpZylcbiAgcHJvdGVjdGVkIGZpeGVkRmVlID0gMG47XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLmluaXRpYWxpemVDaGFpbklkcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBiYXNlIGZlZSAoYWxyZWFkeSBzY2FsZWQgdG8gRmxhcmUgQy1jaGFpbiBuYXRpdmUgZGVjaW1hbHMpLiBBY2NlcHQgYmlnaW50IHwgbnVtYmVyIHwgc3RyaW5nLlxuICAgKi9cbiAgZmVlUmF0ZShiYXNlRmVlOiBiaWdpbnQgfCBudW1iZXIgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCBuID0gdHlwZW9mIGJhc2VGZWUgPT09ICdiaWdpbnQnID8gYmFzZUZlZSA6IEJpZ0ludChiYXNlRmVlKTtcbiAgICB0aGlzLnZhbGlkYXRlRmVlKG4pO1xuICAgIHRoaXMuc2V0RmVlUmF0ZShuKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNyZWF0ZSBidWlsZGVyIHN0YXRlIGZyb20gcmF3IHR4IChoZXgpLiBGbGFyZSBDLWNoYWluIHN1cHBvcnQgVEJEOyBmb3Igbm93IHZhbGlkYXRlICYgc3Rhc2guXG4gICAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiB7IF90eD86IHVua25vd24gfSB7XG4gICAgLy8gSWYgdXRpbHMgaGFzIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24gdXNlIGl0OyBvdGhlcndpc2UgYmFzaWMgY2hlY2tcbiAgICBpZiAoKHV0aWxzIGFzIHVua25vd24gYXMgeyB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uPzogKHI6IHN0cmluZykgPT4gdm9pZCB9KS52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKSB7XG4gICAgICAodXRpbHMgYXMgdW5rbm93biBhcyB7IHZhbGlkYXRlUmF3VHJhbnNhY3Rpb246IChyOiBzdHJpbmcpID0+IHZvaWQgfSkudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgfVxuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZlZShmZWU6IGJpZ2ludCk6IHZvaWQge1xuICAgIGlmIChmZWUgPD0gMG4pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ZlZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ2hhaW5JZHMoKTogdm9pZCB7XG4gICAgY29uc3QgbWV0YSA9IHRoaXMudHJhbnNhY3Rpb24uX25ldHdvcmsgYXMgRmxhcmVDaGFpbk5ldHdvcmtNZXRhO1xuICAgIGlmIChtZXRhPy5ibG9ja2NoYWluSUQpIHtcbiAgICAgIHRoaXMuX2V4dGVybmFsQ2hhaW5JZCA9IHV0aWxzLmNiNThEZWNvZGUobWV0YS5ibG9ja2NoYWluSUQpO1xuICAgIH1cbiAgICBpZiAobWV0YT8uY0NoYWluQmxvY2tjaGFpbklEKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLl9ibG9ja2NoYWluSUQgPSB1dGlscy5jYjU4RGVjb2RlKG1ldGEuY0NoYWluQmxvY2tjaGFpbklEKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEZlZVJhdGUobjogYmlnaW50KTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudENvbnRhaW5lciA9IHRoaXMudHJhbnNhY3Rpb24gYXMgdW5rbm93biBhcyB7IF9mZWU6IEZlZVNoYXBlIH07XG4gICAgY29uc3QgY3VycmVudCA9IGN1cnJlbnRDb250YWluZXIuX2ZlZSB8fCB7IGZlZTogJzAnIH07XG4gICAgY3VycmVudENvbnRhaW5lci5fZmVlID0geyAuLi5jdXJyZW50LCBmZWVSYXRlOiBuLnRvU3RyaW5nKCkgfTtcbiAgfVxufVxuIl19
@@ -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>;
@@ -13,10 +15,13 @@ export declare abstract class AtomicTransactionBuilder {
13
15
  _blockchainID: Buffer;
14
16
  _assetId: Buffer;
15
17
  _fromAddresses: string[];
18
+ _to: string[];
16
19
  _locktime: bigint;
17
20
  _threshold: number;
18
- fee: {
21
+ _fee: {
19
22
  fee: string;
23
+ feeRate?: string;
24
+ size?: number;
20
25
  };
21
26
  hasCredentials: boolean;
22
27
  _tx?: unknown;
@@ -25,14 +30,28 @@ export declare abstract class AtomicTransactionBuilder {
25
30
  constructor(coinConfig: Readonly<CoinConfig>);
26
31
  protected abstract get transactionType(): TransactionType;
27
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;
28
38
  /**
29
39
  * Placeholder that should assemble inputs/outputs and credentials once UTXO + key logic is implemented.
30
40
  */
31
41
  protected createInputOutput(_total: bigint): {
32
42
  inputs: unknown[];
33
43
  outputs: unknown[];
34
- credentials: unknown[];
44
+ credentials: Credential[];
35
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;
36
55
  /**
37
56
  * Base initBuilder used by concrete builders. For now just returns this so fluent API works.
38
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,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QACrB,cAAc,EAAE,OAAO,CAAC;QACxB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,cAAc,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;KACvC,CAaC;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) {
@@ -16,9 +20,10 @@ class AtomicTransactionBuilder {
16
20
  _blockchainID: Buffer.alloc(0),
17
21
  _assetId: Buffer.alloc(0),
18
22
  _fromAddresses: [],
23
+ _to: [],
19
24
  _locktime: 0n,
20
25
  _threshold: 1,
21
- fee: { fee: '0' },
26
+ _fee: { fee: '0' },
22
27
  hasCredentials: false,
23
28
  setTransaction: function (_tx) {
24
29
  this._tx = _tx;
@@ -31,12 +36,73 @@ class AtomicTransactionBuilder {
31
36
  throw new sdk_core_1.BuildTransactionError('Amount must be positive');
32
37
  }
33
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
+ }
34
53
  /**
35
54
  * Placeholder that should assemble inputs/outputs and credentials once UTXO + key logic is implemented.
36
55
  */
37
56
  createInputOutput(_total) {
38
57
  return { inputs: [], outputs: [], credentials: [] };
39
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
+ }
40
106
  /**
41
107
  * Base initBuilder used by concrete builders. For now just returns this so fluent API works.
42
108
  */
@@ -45,4 +111,4 @@ class AtomicTransactionBuilder {
45
111
  }
46
112
  }
47
113
  exports.AtomicTransactionBuilder = AtomicTransactionBuilder;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQThFO0FBRTlFOzs7R0FHRztBQUNILE1BQXNCLHdCQUF3QjtJQWtDNUMsWUFBWSxVQUFnQztRQTdCNUMsc0ZBQXNGO1FBQ3RGLHdDQUF3QztRQUM5QixnQkFBVyxHQVlqQjtZQUNGLFFBQVEsRUFBRSxFQUFFO1lBQ1osVUFBVSxFQUFFLENBQUM7WUFDYixhQUFhLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFNBQVMsRUFBRSxFQUFFO1lBQ2IsVUFBVSxFQUFFLENBQUM7WUFDYixHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO1lBQ2pCLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLGNBQWMsRUFBRSxVQUFVLEdBQVk7Z0JBQ3BDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2pCLENBQUM7U0FDRixDQUFDO1FBR0EsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDaEMsQ0FBQztJQUlELGNBQWMsQ0FBQyxNQUFjO1FBQzNCLElBQUksTUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxpQkFBaUIsQ0FBQyxNQUFjO1FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVcsQ0FBQyxHQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBM0RELDREQTJEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG4vKipcbiAqIE1pbmltYWwgcGxhY2Vob2xkZXIgZm9yIEZsYXJlIFAtY2hhaW4gYXRvbWljIHRyYW5zYWN0aW9uIGJ1aWxkaW5nLlxuICogVGhpcyB3aWxsIGJlIGV4cGFuZGVkIHdpdGggcHJvcGVyIEZsYXJlIFAtY2hhaW4gbG9naWMgKGlucHV0cy9vdXRwdXRzL2NyZWRlbnRpYWxzLCBVVFhPIGhhbmRsaW5nLCBmZWVzLCBldGMuKS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz47XG4gIC8vIEV4dGVybmFsIGNoYWluIGlkIChkZXN0aW5hdGlvbikgZm9yIGV4cG9ydCB0cmFuc2FjdGlvbnNcbiAgcHJvdGVjdGVkIF9leHRlcm5hbENoYWluSWQ6IEJ1ZmZlciB8IHVuZGVmaW5lZDtcblxuICAvLyBTaW1wbGlmaWVkIGludGVybmFsIHRyYW5zYWN0aW9uIHN0YXRlIChtaXJyb3JzIHNoYXBlIGV4cGVjdGVkIGJ5IGV4aXN0aW5nIGJ1aWxkZXJzKVxuICAvLyBTaW1wbGlmaWVkIGludGVybmFsIHRyYW5zYWN0aW9uIHN0YXRlXG4gIHByb3RlY3RlZCB0cmFuc2FjdGlvbjoge1xuICAgIF9uZXR3b3JrOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBfbmV0d29ya0lEOiBudW1iZXI7XG4gICAgX2Jsb2NrY2hhaW5JRDogQnVmZmVyO1xuICAgIF9hc3NldElkOiBCdWZmZXI7XG4gICAgX2Zyb21BZGRyZXNzZXM6IHN0cmluZ1tdO1xuICAgIF9sb2NrdGltZTogYmlnaW50O1xuICAgIF90aHJlc2hvbGQ6IG51bWJlcjtcbiAgICBmZWU6IHsgZmVlOiBzdHJpbmcgfTtcbiAgICBoYXNDcmVkZW50aWFsczogYm9vbGVhbjtcbiAgICBfdHg/OiB1bmtub3duO1xuICAgIHNldFRyYW5zYWN0aW9uOiAodHg6IHVua25vd24pID0+IHZvaWQ7XG4gIH0gPSB7XG4gICAgX25ldHdvcms6IHt9LFxuICAgIF9uZXR3b3JrSUQ6IDAsXG4gICAgX2Jsb2NrY2hhaW5JRDogQnVmZmVyLmFsbG9jKDApLFxuICAgIF9hc3NldElkOiBCdWZmZXIuYWxsb2MoMCksXG4gICAgX2Zyb21BZGRyZXNzZXM6IFtdLFxuICAgIF9sb2NrdGltZTogMG4sXG4gICAgX3RocmVzaG9sZDogMSxcbiAgICBmZWU6IHsgZmVlOiAnMCcgfSxcbiAgICBoYXNDcmVkZW50aWFsczogZmFsc2UsXG4gICAgc2V0VHJhbnNhY3Rpb246IGZ1bmN0aW9uIChfdHg6IHVua25vd24pIHtcbiAgICAgIHRoaXMuX3R4ID0gX3R4O1xuICAgIH0sXG4gIH07XG5cbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICB0aGlzLl9jb2luQ29uZmlnID0gY29pbkNvbmZpZztcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZTtcblxuICB2YWxpZGF0ZUFtb3VudChhbW91bnQ6IGJpZ2ludCk6IHZvaWQge1xuICAgIGlmIChhbW91bnQgPD0gMG4pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0Ftb3VudCBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRoYXQgc2hvdWxkIGFzc2VtYmxlIGlucHV0cy9vdXRwdXRzIGFuZCBjcmVkZW50aWFscyBvbmNlIFVUWE8gKyBrZXkgbG9naWMgaXMgaW1wbGVtZW50ZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlSW5wdXRPdXRwdXQoX3RvdGFsOiBiaWdpbnQpOiB7IGlucHV0czogdW5rbm93bltdOyBvdXRwdXRzOiB1bmtub3duW107IGNyZWRlbnRpYWxzOiB1bmtub3duW10gfSB7XG4gICAgcmV0dXJuIHsgaW5wdXRzOiBbXSwgb3V0cHV0czogW10sIGNyZWRlbnRpYWxzOiBbXSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEJhc2UgaW5pdEJ1aWxkZXIgdXNlZCBieSBjb25jcmV0ZSBidWlsZGVycy4gRm9yIG5vdyBqdXN0IHJldHVybnMgdGhpcyBzbyBmbHVlbnQgQVBJIHdvcmtzLlxuICAgKi9cbiAgaW5pdEJ1aWxkZXIoX3R4OiB1bmtub3duKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQThFO0FBQzlFLG1EQUE4RDtBQUU5RCxtQ0FBbUM7QUFDbkMsTUFBTSwwQkFBMEIsR0FBRyxFQUFFLENBQUM7QUFFdEM7Ozs7R0FJRztBQUNILE1BQXNCLHdCQUF3QjtJQW9DNUMsWUFBWSxVQUFnQztRQS9CNUMsc0ZBQXNGO1FBQ3RGLHdDQUF3QztRQUM5QixnQkFBVyxHQWFqQjtZQUNGLFFBQVEsRUFBRSxFQUFFO1lBQ1osVUFBVSxFQUFFLENBQUM7WUFDYixhQUFhLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLEdBQUcsRUFBRSxFQUFFO1lBQ1AsU0FBUyxFQUFFLEVBQUU7WUFDYixVQUFVLEVBQUUsQ0FBQztZQUNiLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7WUFDbEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsY0FBYyxFQUFFLFVBQVUsR0FBWTtnQkFDcEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDakIsQ0FBQztTQUNGLENBQUM7UUFHQSxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNoQyxDQUFDO0lBSUQsY0FBYyxDQUFDLE1BQWM7UUFDM0IsSUFBSSxNQUFNLElBQUksRUFBRSxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDTyxtQkFBbUIsQ0FBQyxXQUF5QjtRQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxDQUFDLFVBQVUsWUFBWSxvQkFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDeEMsTUFBTSxJQUFJLGdDQUFxQixDQUFDLCtCQUErQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzFFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNPLGlCQUFpQixDQUFDLE1BQWM7UUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDTyxxQkFBcUIsQ0FBQyxhQUFxQixFQUFFLFVBQW9CO1FBQ3pFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLGdDQUFxQixDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVELElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksZ0NBQXFCLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN6QyxzQ0FBc0M7WUFDdEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM3QixPQUFPLElBQUksbUJBQVMsQ0FBQyxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUM7WUFDbkUsQ0FBQztZQUVELDZCQUE2QjtZQUM3QixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDM0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLElBQUksZ0NBQXFCLENBQUMsa0NBQWtDLEtBQUssK0JBQStCLENBQUMsQ0FBQztZQUMxRyxDQUFDO1lBRUQsd0NBQXdDO1lBQ3hDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9DLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRywwQkFBMEIsRUFBRSxDQUFDO2dCQUNsRCxNQUFNLElBQUksZ0NBQXFCLENBQzdCLCtCQUErQixLQUFLLEtBQUssU0FBUyxDQUFDLE1BQU0sZUFBZSwwQkFBMEIsR0FBRyxDQUN0RyxDQUFDO1lBQ0osQ0FBQztZQUVELHFEQUFxRDtZQUNyRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUNuRSxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFFbEMsSUFBSSxDQUFDO2dCQUNILE9BQU8sSUFBSSxtQkFBUyxDQUFDLElBQUksVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztZQUMxRCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixNQUFNLElBQUksZ0NBQXFCLENBQzdCLHVDQUF1QyxLQUFLLEtBQUssS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQzVHLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUM7WUFDSCxPQUFPLElBQUksb0JBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxnQ0FBcUIsQ0FDN0IsZ0NBQWdDLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUMzRixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVcsQ0FBQyxHQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBeElELDREQXdJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQ3JlZGVudGlhbCwgU2lnbmF0dXJlIH0gZnJvbSAnQGZsYXJlbmV0d29yay9mbGFyZWpzJztcblxuLy8gQ29uc3RhbnRzIGZvciBzaWduYXR1cmUgaGFuZGxpbmdcbmNvbnN0IFNFQ1AyNTZLMV9TSUdOQVRVUkVfTEVOR1RIID0gNjU7XG5cbi8qKlxuICogRmxhcmUgUC1jaGFpbiBhdG9taWMgdHJhbnNhY3Rpb24gYnVpbGRlciB3aXRoIEZsYXJlSlMgY3JlZGVudGlhbCBzdXBwb3J0LlxuICogVGhpcyBwcm92aWRlcyB0aGUgZm91bmRhdGlvbiBmb3IgYnVpbGRpbmcgRmxhcmUgUC1jaGFpbiB0cmFuc2FjdGlvbnMgd2l0aCBwcm9wZXJcbiAqIGNyZWRlbnRpYWwgaGFuZGxpbmcgdXNpbmcgRmxhcmVKUyBDcmVkZW50aWFsIGFuZCBTaWduYXR1cmUgY2xhc3Nlcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz47XG4gIC8vIEV4dGVybmFsIGNoYWluIGlkIChkZXN0aW5hdGlvbikgZm9yIGV4cG9ydCB0cmFuc2FjdGlvbnNcbiAgcHJvdGVjdGVkIF9leHRlcm5hbENoYWluSWQ6IEJ1ZmZlciB8IHVuZGVmaW5lZDtcblxuICAvLyBTaW1wbGlmaWVkIGludGVybmFsIHRyYW5zYWN0aW9uIHN0YXRlIChtaXJyb3JzIHNoYXBlIGV4cGVjdGVkIGJ5IGV4aXN0aW5nIGJ1aWxkZXJzKVxuICAvLyBTaW1wbGlmaWVkIGludGVybmFsIHRyYW5zYWN0aW9uIHN0YXRlXG4gIHByb3RlY3RlZCB0cmFuc2FjdGlvbjoge1xuICAgIF9uZXR3b3JrOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBfbmV0d29ya0lEOiBudW1iZXI7XG4gICAgX2Jsb2NrY2hhaW5JRDogQnVmZmVyO1xuICAgIF9hc3NldElkOiBCdWZmZXI7XG4gICAgX2Zyb21BZGRyZXNzZXM6IHN0cmluZ1tdO1xuICAgIF90bzogc3RyaW5nW107XG4gICAgX2xvY2t0aW1lOiBiaWdpbnQ7XG4gICAgX3RocmVzaG9sZDogbnVtYmVyO1xuICAgIF9mZWU6IHsgZmVlOiBzdHJpbmc7IGZlZVJhdGU/OiBzdHJpbmc7IHNpemU/OiBudW1iZXIgfTtcbiAgICBoYXNDcmVkZW50aWFsczogYm9vbGVhbjtcbiAgICBfdHg/OiB1bmtub3duO1xuICAgIHNldFRyYW5zYWN0aW9uOiAodHg6IHVua25vd24pID0+IHZvaWQ7XG4gIH0gPSB7XG4gICAgX25ldHdvcms6IHt9LFxuICAgIF9uZXR3b3JrSUQ6IDAsXG4gICAgX2Jsb2NrY2hhaW5JRDogQnVmZmVyLmFsbG9jKDApLFxuICAgIF9hc3NldElkOiBCdWZmZXIuYWxsb2MoMCksXG4gICAgX2Zyb21BZGRyZXNzZXM6IFtdLFxuICAgIF90bzogW10sXG4gICAgX2xvY2t0aW1lOiAwbixcbiAgICBfdGhyZXNob2xkOiAxLFxuICAgIF9mZWU6IHsgZmVlOiAnMCcgfSxcbiAgICBoYXNDcmVkZW50aWFsczogZmFsc2UsXG4gICAgc2V0VHJhbnNhY3Rpb246IGZ1bmN0aW9uIChfdHg6IHVua25vd24pIHtcbiAgICAgIHRoaXMuX3R4ID0gX3R4O1xuICAgIH0sXG4gIH07XG5cbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICB0aGlzLl9jb2luQ29uZmlnID0gY29pbkNvbmZpZztcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZTtcblxuICB2YWxpZGF0ZUFtb3VudChhbW91bnQ6IGJpZ2ludCk6IHZvaWQge1xuICAgIGlmIChhbW91bnQgPD0gMG4pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0Ftb3VudCBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGF0IGNyZWRlbnRpYWxzIGFycmF5IGlzIHByb3Blcmx5IGZvcm1lZFxuICAgKiBAcGFyYW0gY3JlZGVudGlhbHMgLSBBcnJheSBvZiBjcmVkZW50aWFscyB0byB2YWxpZGF0ZVxuICAgKi9cbiAgcHJvdGVjdGVkIHZhbGlkYXRlQ3JlZGVudGlhbHMoY3JlZGVudGlhbHM6IENyZWRlbnRpYWxbXSk6IHZvaWQge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShjcmVkZW50aWFscykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0NyZWRlbnRpYWxzIG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICB9XG5cbiAgICBjcmVkZW50aWFscy5mb3JFYWNoKChjcmVkZW50aWFsLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKCEoY3JlZGVudGlhbCBpbnN0YW5jZW9mIENyZWRlbnRpYWwpKSB7XG4gICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgY3JlZGVudGlhbCBhdCBpbmRleCAke2luZGV4fWApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRoYXQgc2hvdWxkIGFzc2VtYmxlIGlucHV0cy9vdXRwdXRzIGFuZCBjcmVkZW50aWFscyBvbmNlIFVUWE8gKyBrZXkgbG9naWMgaXMgaW1wbGVtZW50ZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlSW5wdXRPdXRwdXQoX3RvdGFsOiBiaWdpbnQpOiB7IGlucHV0czogdW5rbm93bltdOyBvdXRwdXRzOiB1bmtub3duW107IGNyZWRlbnRpYWxzOiBDcmVkZW50aWFsW10gfSB7XG4gICAgcmV0dXJuIHsgaW5wdXRzOiBbXSwgb3V0cHV0czogW10sIGNyZWRlbnRpYWxzOiBbXSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEZsYXJlIGVxdWl2YWxlbnQgb2YgQXZhbGFuY2hlJ3MgU2VsZWN0Q3JlZGVudGlhbENsYXNzXG4gICAqIENyZWF0ZXMgYSBjcmVkZW50aWFsIHdpdGggdGhlIHByb3ZpZGVkIHNpZ25hdHVyZXNcbiAgICpcbiAgICogQHBhcmFtIGNyZWRlbnRpYWxJZCAtIFRoZSBjcmVkZW50aWFsIElEIChub3QgdXNlZCBpbiBGbGFyZUpTIGJ1dCBrZXB0IGZvciBjb21wYXRpYmlsaXR5KVxuICAgKiBAcGFyYW0gc2lnbmF0dXJlcyAtIEFycmF5IG9mIHNpZ25hdHVyZSBoZXggc3RyaW5ncyBvciBlbXB0eSBzdHJpbmdzIGZvciBwbGFjZWhvbGRlcnNcbiAgICogQHJldHVybnMgQ3JlZGVudGlhbCBpbnN0YW5jZVxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZUZsYXJlQ3JlZGVudGlhbChfY3JlZGVudGlhbElkOiBudW1iZXIsIHNpZ25hdHVyZXM6IHN0cmluZ1tdKTogQ3JlZGVudGlhbCB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHNpZ25hdHVyZXMpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdTaWduYXR1cmVzIG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICB9XG5cbiAgICBpZiAoc2lnbmF0dXJlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1NpZ25hdHVyZXMgYXJyYXkgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2lncyA9IHNpZ25hdHVyZXMubWFwKChzaWcsIGluZGV4KSA9PiB7XG4gICAgICAvLyBIYW5kbGUgZW1wdHkvcGxhY2Vob2xkZXIgc2lnbmF0dXJlc1xuICAgICAgaWYgKCFzaWcgfHwgc2lnLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbmV3IFNpZ25hdHVyZShuZXcgVWludDhBcnJheShTRUNQMjU2SzFfU0lHTkFUVVJFX0xFTkdUSCkpO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0ZSBoZXggc3RyaW5nIGZvcm1hdFxuICAgICAgY29uc3QgY2xlYW5TaWcgPSBzaWcuc3RhcnRzV2l0aCgnMHgnKSA/IHNpZy5zbGljZSgyKSA6IHNpZztcbiAgICAgIGlmICghL15bMC05YS1mQS1GXSokLy50ZXN0KGNsZWFuU2lnKSkge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIGhleCBzaWduYXR1cmUgYXQgaW5kZXggJHtpbmRleH06IGNvbnRhaW5zIG5vbi1oZXggY2hhcmFjdGVyc2ApO1xuICAgICAgfVxuXG4gICAgICAvLyBDb252ZXJ0IHRvIGJ1ZmZlciBhbmQgdmFsaWRhdGUgbGVuZ3RoXG4gICAgICBjb25zdCBzaWdCdWZmZXIgPSBCdWZmZXIuZnJvbShjbGVhblNpZywgJ2hleCcpO1xuICAgICAgaWYgKHNpZ0J1ZmZlci5sZW5ndGggPiBTRUNQMjU2SzFfU0lHTkFUVVJFX0xFTkdUSCkge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICAgIGBTaWduYXR1cmUgdG9vIGxvbmcgYXQgaW5kZXggJHtpbmRleH06ICR7c2lnQnVmZmVyLmxlbmd0aH0gYnl0ZXMgKG1heCAke1NFQ1AyNTZLMV9TSUdOQVRVUkVfTEVOR1RIfSlgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIENyZWF0ZSBmaXhlZC1sZW5ndGggYnVmZmVyIGFuZCBjb3B5IHNpZ25hdHVyZSBkYXRhXG4gICAgICBjb25zdCBmaXhlZExlbmd0aEJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyhTRUNQMjU2SzFfU0lHTkFUVVJFX0xFTkdUSCk7XG4gICAgICBzaWdCdWZmZXIuY29weShmaXhlZExlbmd0aEJ1ZmZlcik7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBuZXcgU2lnbmF0dXJlKG5ldyBVaW50OEFycmF5KGZpeGVkTGVuZ3RoQnVmZmVyKSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICAgIGBGYWlsZWQgdG8gY3JlYXRlIHNpZ25hdHVyZSBhdCBpbmRleCAke2luZGV4fTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICd1bmtub3duIGVycm9yJ31gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG5ldyBDcmVkZW50aWFsKHNpZ3MpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIGNyZWF0ZSBjcmVkZW50aWFsOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ3Vua25vd24gZXJyb3InfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJhc2UgaW5pdEJ1aWxkZXIgdXNlZCBieSBjb25jcmV0ZSBidWlsZGVycy4gRm9yIG5vdyBqdXN0IHJldHVybnMgdGhpcyBzbyBmbHVlbnQgQVBJIHdvcmtzLlxuICAgKi9cbiAgaW5pdEJ1aWxkZXIoX3R4OiB1bmtub3duKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,77 @@
1
+ import { TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { AtomicInCTransactionBuilder } from './atomicInCTransactionBuilder';
4
+ interface FlareExportInputShape {
5
+ address: string;
6
+ amount: bigint;
7
+ assetId: Buffer;
8
+ nonce: bigint;
9
+ }
10
+ interface FlareExportOutputShape {
11
+ addresses: string[];
12
+ amount: bigint;
13
+ assetId: Buffer;
14
+ }
15
+ interface FlareUnsignedExportTx {
16
+ networkId: number;
17
+ sourceBlockchainId: Buffer;
18
+ destinationBlockchainId: Buffer;
19
+ inputs: FlareExportInputShape[];
20
+ outputs: FlareExportOutputShape[];
21
+ }
22
+ interface FlareSignedExportTx {
23
+ unsignedTx: FlareUnsignedExportTx;
24
+ credentials: unknown[];
25
+ }
26
+ type RawFlareExportTx = FlareSignedExportTx;
27
+ export declare class ExportInCTxBuilder extends AtomicInCTransactionBuilder {
28
+ private _amount?;
29
+ private _nonce?;
30
+ constructor(_coinConfig: Readonly<CoinConfig>);
31
+ /**
32
+ * Utxos are not required in Export Tx in C-Chain.
33
+ * Override utxos to prevent used by throwing a error.
34
+ *
35
+ * @param {DecodedUtxoObj[]} value ignored
36
+ */
37
+ utxos(_value: unknown[]): this;
38
+ /**
39
+ * Amount is a long that specifies the quantity of the asset that this output owns. Must be positive.
40
+ * The transaction output amount add a fixed fee that will be paid upon import.
41
+ *
42
+ * @param {BN | string} amount The withdrawal amount
43
+ */
44
+ amount(amount: bigint | number | string): this;
45
+ /**
46
+ * Set the nonce of C-Chain sender address
47
+ *
48
+ * @param {number | string} nonce - number that can be only used once
49
+ */
50
+ nonce(nonce: bigint | number | string): this;
51
+ /**
52
+ * Export tx target P wallet.
53
+ *
54
+ * @param pAddresses
55
+ */
56
+ to(pAddresses: string | string[]): this;
57
+ protected get transactionType(): TransactionType;
58
+ initBuilder(raw: RawFlareExportTx): this;
59
+ static verifyTxType(_tx: unknown): _tx is FlareUnsignedExportTx;
60
+ verifyTxType(_tx: unknown): _tx is FlareUnsignedExportTx;
61
+ /**
62
+ * Build the export in C-chain transaction
63
+ * @protected
64
+ */
65
+ protected buildFlareTransaction(): void;
66
+ /** @inheritdoc */
67
+ protected fromImplementation(raw: string | RawFlareExportTx): {
68
+ _tx?: unknown;
69
+ };
70
+ /**
71
+ * Check the amount is positive.
72
+ * @param amount
73
+ */
74
+ validateNonce(nonce: bigint): void;
75
+ }
76
+ export {};
77
+ //# sourceMappingURL=exportInCTxBuilder.d.ts.map
@@ -0,0 +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;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"}