@bitgo-beta/utxo-staking 1.1.1-beta.156 → 1.1.1-beta.1561

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 (168) hide show
  1. package/dist/cjs/scripts/babylon-sync.d.ts +2 -0
  2. package/dist/cjs/scripts/babylon-sync.d.ts.map +1 -0
  3. package/dist/cjs/scripts/babylon-sync.js +126 -0
  4. package/dist/cjs/src/babylon/delegationMessage.d.ts +38 -0
  5. package/dist/cjs/src/babylon/delegationMessage.d.ts.map +1 -0
  6. package/dist/cjs/src/babylon/delegationMessage.js +285 -0
  7. package/dist/cjs/src/babylon/descriptor.d.ts +48 -0
  8. package/dist/cjs/src/babylon/descriptor.d.ts.map +1 -0
  9. package/dist/cjs/src/babylon/descriptor.js +97 -0
  10. package/dist/cjs/src/babylon/index.d.ts +8 -0
  11. package/dist/cjs/src/babylon/index.d.ts.map +1 -0
  12. package/dist/cjs/src/babylon/index.js +51 -0
  13. package/dist/cjs/src/babylon/network.d.ts +7 -0
  14. package/dist/cjs/src/babylon/network.d.ts.map +1 -0
  15. package/dist/cjs/src/babylon/network.js +66 -0
  16. package/dist/cjs/src/babylon/params.mainnet.json +182 -0
  17. package/dist/cjs/src/babylon/params.testnet.json +206 -0
  18. package/dist/cjs/src/babylon/parseDescriptor.d.ts +26 -0
  19. package/dist/cjs/src/babylon/parseDescriptor.d.ts.map +1 -0
  20. package/dist/cjs/src/babylon/parseDescriptor.js +159 -0
  21. package/dist/cjs/src/babylon/stakingManager.d.ts +6 -0
  22. package/dist/cjs/src/babylon/stakingManager.d.ts.map +1 -0
  23. package/dist/cjs/src/babylon/stakingManager.js +120 -0
  24. package/dist/cjs/src/babylon/stakingParams.d.ts +40 -0
  25. package/dist/cjs/src/babylon/stakingParams.d.ts.map +1 -0
  26. package/dist/cjs/src/babylon/stakingParams.js +132 -0
  27. package/dist/cjs/src/babylon/undelegation/UndelegationResponse.d.ts +24 -0
  28. package/dist/cjs/src/babylon/undelegation/UndelegationResponse.d.ts.map +1 -0
  29. package/dist/cjs/src/babylon/undelegation/UndelegationResponse.js +55 -0
  30. package/dist/cjs/src/babylon/undelegation/index.d.ts +3 -0
  31. package/dist/cjs/src/babylon/undelegation/index.d.ts.map +1 -0
  32. package/dist/cjs/src/babylon/undelegation/index.js +19 -0
  33. package/dist/cjs/src/babylon/undelegation/unbonding.d.ts +16 -0
  34. package/dist/cjs/src/babylon/undelegation/unbonding.d.ts.map +1 -0
  35. package/dist/cjs/src/babylon/undelegation/unbonding.js +111 -0
  36. package/dist/cjs/src/coreDao/descriptor.d.ts.map +1 -0
  37. package/dist/cjs/src/coreDao/descriptor.js +38 -0
  38. package/dist/cjs/src/coreDao/index.d.ts.map +1 -0
  39. package/dist/{src → cjs/src}/coreDao/index.js +1 -1
  40. package/dist/cjs/src/coreDao/opReturn.d.ts.map +1 -0
  41. package/dist/cjs/src/coreDao/opReturn.js +183 -0
  42. package/dist/{src → cjs/src}/coreDao/transaction.d.ts +16 -7
  43. package/dist/cjs/src/coreDao/transaction.d.ts.map +1 -0
  44. package/dist/cjs/src/coreDao/transaction.js +34 -0
  45. package/dist/{src → cjs/src}/index.d.ts +1 -1
  46. package/dist/cjs/src/index.d.ts.map +1 -0
  47. package/dist/{src → cjs/src}/index.js +3 -6
  48. package/dist/cjs/src/pox5/index.d.ts +3 -0
  49. package/dist/cjs/src/pox5/index.d.ts.map +1 -0
  50. package/dist/{src/babylon → cjs/src/pox5}/index.js +3 -3
  51. package/dist/cjs/src/pox5/recovery.d.ts +14 -0
  52. package/dist/cjs/src/pox5/recovery.d.ts.map +1 -0
  53. package/dist/cjs/src/pox5/recovery.js +15 -0
  54. package/dist/cjs/src/pox5/witness.d.ts +13 -0
  55. package/dist/cjs/src/pox5/witness.d.ts.map +1 -0
  56. package/dist/cjs/src/pox5/witness.js +25 -0
  57. package/dist/cjs/test/unit/babylon/bug71.d.ts +2 -0
  58. package/dist/cjs/test/unit/babylon/bug71.d.ts.map +1 -0
  59. package/dist/cjs/test/unit/babylon/bug71.js +108 -0
  60. package/dist/cjs/test/unit/babylon/key.utils.d.ts +6 -0
  61. package/dist/cjs/test/unit/babylon/key.utils.d.ts.map +1 -0
  62. package/dist/cjs/test/unit/babylon/key.utils.js +68 -0
  63. package/dist/cjs/test/unit/babylon/transactions.d.ts +2 -0
  64. package/dist/cjs/test/unit/babylon/transactions.d.ts.map +1 -0
  65. package/dist/cjs/test/unit/babylon/transactions.js +338 -0
  66. package/dist/cjs/test/unit/babylon/undelegation.d.ts +2 -0
  67. package/dist/cjs/test/unit/babylon/undelegation.d.ts.map +1 -0
  68. package/dist/cjs/test/unit/babylon/undelegation.js +156 -0
  69. package/dist/cjs/test/unit/babylon/vendor.utils.d.ts +13 -0
  70. package/dist/cjs/test/unit/babylon/vendor.utils.d.ts.map +1 -0
  71. package/dist/cjs/test/unit/babylon/vendor.utils.js +78 -0
  72. package/dist/cjs/test/unit/coreDao/descriptor.d.ts +2 -0
  73. package/dist/cjs/test/unit/coreDao/descriptor.d.ts.map +1 -0
  74. package/dist/cjs/test/unit/coreDao/descriptor.js +144 -0
  75. package/dist/cjs/test/unit/coreDao/opReturn.d.ts +2 -0
  76. package/dist/cjs/test/unit/coreDao/opReturn.d.ts.map +1 -0
  77. package/dist/cjs/test/unit/coreDao/opReturn.js +275 -0
  78. package/dist/cjs/test/unit/coreDao/utils.d.ts +5 -0
  79. package/dist/cjs/test/unit/coreDao/utils.d.ts.map +1 -0
  80. package/dist/cjs/test/unit/coreDao/utils.js +54 -0
  81. package/dist/cjs/test/unit/fixtures.utils.d.ts +9 -0
  82. package/dist/cjs/test/unit/fixtures.utils.d.ts.map +1 -0
  83. package/dist/cjs/test/unit/fixtures.utils.js +91 -0
  84. package/dist/cjs/test/unit/pox5/recoveryCompat.d.ts +2 -0
  85. package/dist/cjs/test/unit/pox5/recoveryCompat.d.ts.map +1 -0
  86. package/dist/cjs/test/unit/pox5/recoveryCompat.js +51 -0
  87. package/dist/cjs/test/unit/pox5/witness.d.ts +2 -0
  88. package/dist/cjs/test/unit/pox5/witness.d.ts.map +1 -0
  89. package/dist/cjs/test/unit/pox5/witness.js +87 -0
  90. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  91. package/dist/esm/babylon/delegationMessage.d.ts +38 -0
  92. package/dist/esm/babylon/delegationMessage.d.ts.map +1 -0
  93. package/dist/esm/babylon/delegationMessage.js +239 -0
  94. package/dist/esm/babylon/descriptor.d.ts +48 -0
  95. package/dist/esm/babylon/descriptor.d.ts.map +1 -0
  96. package/dist/esm/babylon/descriptor.js +91 -0
  97. package/dist/esm/babylon/index.d.ts +8 -0
  98. package/dist/esm/babylon/index.d.ts.map +1 -0
  99. package/dist/esm/babylon/index.js +13 -0
  100. package/dist/esm/babylon/network.d.ts +7 -0
  101. package/dist/esm/babylon/network.d.ts.map +1 -0
  102. package/dist/esm/babylon/network.js +29 -0
  103. package/dist/esm/babylon/params.mainnet.json +182 -0
  104. package/dist/esm/babylon/params.testnet.json +206 -0
  105. package/dist/esm/babylon/parseDescriptor.d.ts +26 -0
  106. package/dist/esm/babylon/parseDescriptor.d.ts.map +1 -0
  107. package/dist/esm/babylon/parseDescriptor.js +155 -0
  108. package/dist/esm/babylon/stakingManager.d.ts +6 -0
  109. package/dist/esm/babylon/stakingManager.d.ts.map +1 -0
  110. package/dist/esm/babylon/stakingManager.js +83 -0
  111. package/dist/esm/babylon/stakingParams.d.ts +40 -0
  112. package/dist/esm/babylon/stakingParams.d.ts.map +1 -0
  113. package/dist/esm/babylon/stakingParams.js +86 -0
  114. package/dist/esm/babylon/undelegation/UndelegationResponse.d.ts +24 -0
  115. package/dist/esm/babylon/undelegation/UndelegationResponse.d.ts.map +1 -0
  116. package/dist/esm/babylon/undelegation/UndelegationResponse.js +18 -0
  117. package/dist/esm/babylon/undelegation/index.d.ts +3 -0
  118. package/dist/esm/babylon/undelegation/index.d.ts.map +1 -0
  119. package/dist/esm/babylon/undelegation/index.js +3 -0
  120. package/dist/esm/babylon/undelegation/unbonding.d.ts +16 -0
  121. package/dist/esm/babylon/undelegation/unbonding.d.ts.map +1 -0
  122. package/dist/esm/babylon/undelegation/unbonding.js +70 -0
  123. package/dist/esm/coreDao/descriptor.d.ts +18 -0
  124. package/dist/esm/coreDao/descriptor.js +35 -0
  125. package/dist/esm/coreDao/index.d.ts +4 -0
  126. package/dist/esm/coreDao/index.js +4 -0
  127. package/dist/esm/coreDao/opReturn.d.ts +41 -0
  128. package/dist/esm/coreDao/opReturn.js +175 -0
  129. package/dist/esm/coreDao/transaction.d.ts +28 -0
  130. package/dist/esm/coreDao/transaction.d.ts.map +1 -0
  131. package/dist/esm/coreDao/transaction.js +30 -0
  132. package/dist/esm/index.d.ts +4 -0
  133. package/dist/{src → esm}/index.d.ts.map +1 -1
  134. package/dist/esm/index.js +4 -0
  135. package/dist/esm/pox5/index.d.ts +3 -0
  136. package/dist/esm/pox5/index.d.ts.map +1 -0
  137. package/dist/esm/pox5/index.js +3 -0
  138. package/dist/esm/pox5/recovery.d.ts +14 -0
  139. package/dist/esm/pox5/recovery.d.ts.map +1 -0
  140. package/dist/esm/pox5/recovery.js +12 -0
  141. package/dist/esm/pox5/witness.d.ts +13 -0
  142. package/dist/esm/pox5/witness.d.ts.map +1 -0
  143. package/dist/esm/pox5/witness.js +21 -0
  144. package/package.json +41 -14
  145. package/.eslintignore +0 -5
  146. package/.eslintrc.js +0 -7
  147. package/CHANGELOG.md +0 -63
  148. package/dist/src/babylon/descriptor.d.ts +0 -19
  149. package/dist/src/babylon/descriptor.d.ts.map +0 -1
  150. package/dist/src/babylon/descriptor.js +0 -65
  151. package/dist/src/babylon/index.d.ts +0 -3
  152. package/dist/src/babylon/index.d.ts.map +0 -1
  153. package/dist/src/babylon/testnet.d.ts +0 -24
  154. package/dist/src/babylon/testnet.d.ts.map +0 -1
  155. package/dist/src/babylon/testnet.js +0 -39
  156. package/dist/src/coreDao/descriptor.js +0 -38
  157. package/dist/src/coreDao/opReturn.js +0 -183
  158. package/dist/src/coreDao/transaction.d.ts.map +0 -1
  159. package/dist/src/coreDao/transaction.js +0 -26
  160. package/dist/src/transaction.d.ts +0 -32
  161. package/dist/src/transaction.d.ts.map +0 -1
  162. package/dist/src/transaction.js +0 -87
  163. /package/dist/{src → cjs/src}/coreDao/descriptor.d.ts +0 -0
  164. /package/dist/{src → cjs/src}/coreDao/index.d.ts +0 -0
  165. /package/dist/{src → cjs/src}/coreDao/opReturn.d.ts +0 -0
  166. /package/dist/{src → esm}/coreDao/descriptor.d.ts.map +0 -0
  167. /package/dist/{src → esm}/coreDao/index.d.ts.map +0 -0
  168. /package/dist/{src → esm}/coreDao/opReturn.d.ts.map +0 -0
@@ -32,12 +32,9 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
- };
38
35
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.babylon = exports.coreDao = void 0;
36
+ exports.pox5 = exports.babylon = exports.coreDao = void 0;
40
37
  exports.coreDao = __importStar(require("./coreDao"));
41
38
  exports.babylon = __importStar(require("./babylon"));
42
- __exportStar(require("./transaction"), exports);
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQXFDO0FBQ3JDLHFEQUFxQztBQUVyQyxnREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBjb3JlRGFvIGZyb20gJy4vY29yZURhbyc7XG5leHBvcnQgKiBhcyBiYWJ5bG9uIGZyb20gJy4vYmFieWxvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuIl19
39
+ exports.pox5 = __importStar(require("./pox5"));
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQXFDO0FBQ3JDLHFEQUFxQztBQUNyQywrQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBjb3JlRGFvIGZyb20gJy4vY29yZURhbyc7XG5leHBvcnQgKiBhcyBiYWJ5bG9uIGZyb20gJy4vYmFieWxvbic7XG5leHBvcnQgKiBhcyBwb3g1IGZyb20gJy4vcG94NSc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './witness';
2
+ export * from './recovery';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pox5/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./descriptor"), exports);
18
- __exportStar(require("./testnet"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFieWxvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCO0FBQzdCLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RuZXQnO1xuIl19
17
+ __exportStar(require("./witness"), exports);
18
+ __exportStar(require("./recovery"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcG94NS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNENBQTBCO0FBQzFCLDZDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2l0bmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL3JlY292ZXJ5JztcbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { pox5 } from '@bitgo-beta/utxo-descriptors';
2
+ /** @deprecated Use `pox5.POX5_MAX_UNLOCK_HEIGHT` from `@bitgo-beta/utxo-descriptors`. */
3
+ export declare const POX5_MAX_UNLOCK_HEIGHT = 500000000;
4
+ /** @deprecated Use `pox5.assertPox5LocktimeSpend` from `@bitgo-beta/utxo-descriptors`. */
5
+ export declare const assertPox5LocktimeSpend: typeof pox5.assertPox5LocktimeSpend;
6
+ /** @deprecated Use `pox5.assertPox5EarlyExitSpend` from `@bitgo-beta/utxo-descriptors`. */
7
+ export declare const assertPox5EarlyExitSpend: typeof pox5.assertPox5EarlyExitSpend;
8
+ /** @deprecated Use `pox5.classifyPox5Spend` from `@bitgo-beta/utxo-descriptors`. */
9
+ export declare const classifyPox5Spend: typeof pox5.classifyPox5Spend;
10
+ /** @deprecated Use `pox5.preparePox5EarlyExit` from `@bitgo-beta/utxo-descriptors`. */
11
+ export declare const preparePox5EarlyExit: typeof pox5.preparePox5EarlyExit;
12
+ /** @deprecated Use `pox5.Pox5SpendBranch` from `@bitgo-beta/utxo-descriptors`. */
13
+ export type Pox5SpendBranch = pox5.Pox5SpendBranch;
14
+ //# sourceMappingURL=recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../../../src/pox5/recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEpD,yFAAyF;AACzF,eAAO,MAAM,sBAAsB,YAA8B,CAAC;AAElE,0FAA0F;AAC1F,eAAO,MAAM,uBAAuB,qCAA+B,CAAC;AAEpE,2FAA2F;AAC3F,eAAO,MAAM,wBAAwB,sCAAgC,CAAC;AAEtE,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,+BAAyB,CAAC;AAExD,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,kCAA4B,CAAC;AAE9D,kFAAkF;AAClF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.preparePox5EarlyExit = exports.classifyPox5Spend = exports.assertPox5EarlyExitSpend = exports.assertPox5LocktimeSpend = exports.POX5_MAX_UNLOCK_HEIGHT = void 0;
4
+ const utxo_descriptors_1 = require("@bitgo-beta/utxo-descriptors");
5
+ /** @deprecated Use `pox5.POX5_MAX_UNLOCK_HEIGHT` from `@bitgo-beta/utxo-descriptors`. */
6
+ exports.POX5_MAX_UNLOCK_HEIGHT = utxo_descriptors_1.pox5.POX5_MAX_UNLOCK_HEIGHT;
7
+ /** @deprecated Use `pox5.assertPox5LocktimeSpend` from `@bitgo-beta/utxo-descriptors`. */
8
+ exports.assertPox5LocktimeSpend = utxo_descriptors_1.pox5.assertPox5LocktimeSpend;
9
+ /** @deprecated Use `pox5.assertPox5EarlyExitSpend` from `@bitgo-beta/utxo-descriptors`. */
10
+ exports.assertPox5EarlyExitSpend = utxo_descriptors_1.pox5.assertPox5EarlyExitSpend;
11
+ /** @deprecated Use `pox5.classifyPox5Spend` from `@bitgo-beta/utxo-descriptors`. */
12
+ exports.classifyPox5Spend = utxo_descriptors_1.pox5.classifyPox5Spend;
13
+ /** @deprecated Use `pox5.preparePox5EarlyExit` from `@bitgo-beta/utxo-descriptors`. */
14
+ exports.preparePox5EarlyExit = utxo_descriptors_1.pox5.preparePox5EarlyExit;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3ZlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcG94NS9yZWNvdmVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBb0Q7QUFFcEQseUZBQXlGO0FBQzVFLFFBQUEsc0JBQXNCLEdBQUcsdUJBQUksQ0FBQyxzQkFBc0IsQ0FBQztBQUVsRSwwRkFBMEY7QUFDN0UsUUFBQSx1QkFBdUIsR0FBRyx1QkFBSSxDQUFDLHVCQUF1QixDQUFDO0FBRXBFLDJGQUEyRjtBQUM5RSxRQUFBLHdCQUF3QixHQUFHLHVCQUFJLENBQUMsd0JBQXdCLENBQUM7QUFFdEUsb0ZBQW9GO0FBQ3ZFLFFBQUEsaUJBQWlCLEdBQUcsdUJBQUksQ0FBQyxpQkFBaUIsQ0FBQztBQUV4RCx1RkFBdUY7QUFDMUUsUUFBQSxvQkFBb0IsR0FBRyx1QkFBSSxDQUFDLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcG94NSB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tZGVzY3JpcHRvcnMnO1xuXG4vKiogQGRlcHJlY2F0ZWQgVXNlIGBwb3g1LlBPWDVfTUFYX1VOTE9DS19IRUlHSFRgIGZyb20gYEBiaXRnby1iZXRhL3V0eG8tZGVzY3JpcHRvcnNgLiAqL1xuZXhwb3J0IGNvbnN0IFBPWDVfTUFYX1VOTE9DS19IRUlHSFQgPSBwb3g1LlBPWDVfTUFYX1VOTE9DS19IRUlHSFQ7XG5cbi8qKiBAZGVwcmVjYXRlZCBVc2UgYHBveDUuYXNzZXJ0UG94NUxvY2t0aW1lU3BlbmRgIGZyb20gYEBiaXRnby1iZXRhL3V0eG8tZGVzY3JpcHRvcnNgLiAqL1xuZXhwb3J0IGNvbnN0IGFzc2VydFBveDVMb2NrdGltZVNwZW5kID0gcG94NS5hc3NlcnRQb3g1TG9ja3RpbWVTcGVuZDtcblxuLyoqIEBkZXByZWNhdGVkIFVzZSBgcG94NS5hc3NlcnRQb3g1RWFybHlFeGl0U3BlbmRgIGZyb20gYEBiaXRnby1iZXRhL3V0eG8tZGVzY3JpcHRvcnNgLiAqL1xuZXhwb3J0IGNvbnN0IGFzc2VydFBveDVFYXJseUV4aXRTcGVuZCA9IHBveDUuYXNzZXJ0UG94NUVhcmx5RXhpdFNwZW5kO1xuXG4vKiogQGRlcHJlY2F0ZWQgVXNlIGBwb3g1LmNsYXNzaWZ5UG94NVNwZW5kYCBmcm9tIGBAYml0Z28tYmV0YS91dHhvLWRlc2NyaXB0b3JzYC4gKi9cbmV4cG9ydCBjb25zdCBjbGFzc2lmeVBveDVTcGVuZCA9IHBveDUuY2xhc3NpZnlQb3g1U3BlbmQ7XG5cbi8qKiBAZGVwcmVjYXRlZCBVc2UgYHBveDUucHJlcGFyZVBveDVFYXJseUV4aXRgIGZyb20gYEBiaXRnby1iZXRhL3V0eG8tZGVzY3JpcHRvcnNgLiAqL1xuZXhwb3J0IGNvbnN0IHByZXBhcmVQb3g1RWFybHlFeGl0ID0gcG94NS5wcmVwYXJlUG94NUVhcmx5RXhpdDtcblxuLyoqIEBkZXByZWNhdGVkIFVzZSBgcG94NS5Qb3g1U3BlbmRCcmFuY2hgIGZyb20gYEBiaXRnby1iZXRhL3V0eG8tZGVzY3JpcHRvcnNgLiAqL1xuZXhwb3J0IHR5cGUgUG94NVNwZW5kQnJhbmNoID0gcG94NS5Qb3g1U3BlbmRCcmFuY2g7XG4iXX0=
@@ -0,0 +1,13 @@
1
+ import { Psbt } from '@bitgo/wasm-utxo';
2
+ import { pox5 } from '@bitgo-beta/utxo-descriptors';
3
+ export type Pox5FinalizerParams = {
4
+ /** The canonical descriptor match for the input being finalized. */
5
+ match: pox5.Pox5InputMatch;
6
+ };
7
+ /** Finalize the post-CLTV 2-of-3 PoX-5 spend branch. */
8
+ export declare function finalizePox5LocktimePath(psbt: Psbt, inputIndex: number, params: Pox5FinalizerParams): void;
9
+ /** Finalize the principal-preimage early-exit 2-of-3 PoX-5 spend branch. */
10
+ export declare function finalizePox5EarlyExitPath(psbt: Psbt, inputIndex: number, params: Pox5FinalizerParams & {
11
+ principalPreimage: Uint8Array;
12
+ }): void;
13
+ //# sourceMappingURL=witness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"witness.d.ts","sourceRoot":"","sources":["../../../../src/pox5/witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEpD,MAAM,MAAM,mBAAmB,GAAG;IAChC,oEAAoE;IACpE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC;CAC5B,CAAC;AAQF,wDAAwD;AACxD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAK1G;AAED,4EAA4E;AAC5E,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,mBAAmB,GAAG;IAAE,iBAAiB,EAAE,UAAU,CAAA;CAAE,GAC9D,IAAI,CAKN"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.finalizePox5LocktimePath = finalizePox5LocktimePath;
4
+ exports.finalizePox5EarlyExitPath = finalizePox5EarlyExitPath;
5
+ const utxo_descriptors_1 = require("@bitgo-beta/utxo-descriptors");
6
+ function assertFinalizerInputIndex(inputIndex, match) {
7
+ if (inputIndex !== match.inputIndex) {
8
+ throw new Error(`PoX-5 descriptor match belongs to PSBT input ${match.inputIndex}, not ${inputIndex}`);
9
+ }
10
+ }
11
+ /** Finalize the post-CLTV 2-of-3 PoX-5 spend branch. */
12
+ function finalizePox5LocktimePath(psbt, inputIndex, params) {
13
+ assertFinalizerInputIndex(inputIndex, params.match);
14
+ utxo_descriptors_1.pox5.assertPox5LocktimeSpend(psbt, [params.match]);
15
+ psbt.updateInputWithDescriptor(inputIndex, params.match.descriptor);
16
+ psbt.finalizeInput(inputIndex);
17
+ }
18
+ /** Finalize the principal-preimage early-exit 2-of-3 PoX-5 spend branch. */
19
+ function finalizePox5EarlyExitPath(psbt, inputIndex, params) {
20
+ assertFinalizerInputIndex(inputIndex, params.match);
21
+ utxo_descriptors_1.pox5.preparePox5EarlyExit(psbt, inputIndex, params.match, params.principalPreimage);
22
+ psbt.updateInputWithDescriptor(inputIndex, params.match.descriptor);
23
+ psbt.finalizeInput(inputIndex);
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0bmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wb3g1L3dpdG5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFlQSw0REFLQztBQUdELDhEQVNDO0FBL0JELG1FQUFvRDtBQU9wRCxTQUFTLHlCQUF5QixDQUFDLFVBQWtCLEVBQUUsS0FBMEI7SUFDL0UsSUFBSSxVQUFVLEtBQUssS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELEtBQUssQ0FBQyxVQUFVLFNBQVMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN6RyxDQUFDO0FBQ0gsQ0FBQztBQUVELHdEQUF3RDtBQUN4RCxTQUFnQix3QkFBd0IsQ0FBQyxJQUFVLEVBQUUsVUFBa0IsRUFBRSxNQUEyQjtJQUNsRyx5QkFBeUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELHVCQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUVELDRFQUE0RTtBQUM1RSxTQUFnQix5QkFBeUIsQ0FDdkMsSUFBVSxFQUNWLFVBQWtCLEVBQ2xCLE1BQStEO0lBRS9ELHlCQUF5QixDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsdUJBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEYsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBzYnQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7IHBveDUgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWRlc2NyaXB0b3JzJztcblxuZXhwb3J0IHR5cGUgUG94NUZpbmFsaXplclBhcmFtcyA9IHtcbiAgLyoqIFRoZSBjYW5vbmljYWwgZGVzY3JpcHRvciBtYXRjaCBmb3IgdGhlIGlucHV0IGJlaW5nIGZpbmFsaXplZC4gKi9cbiAgbWF0Y2g6IHBveDUuUG94NUlucHV0TWF0Y2g7XG59O1xuXG5mdW5jdGlvbiBhc3NlcnRGaW5hbGl6ZXJJbnB1dEluZGV4KGlucHV0SW5kZXg6IG51bWJlciwgbWF0Y2g6IHBveDUuUG94NUlucHV0TWF0Y2gpOiB2b2lkIHtcbiAgaWYgKGlucHV0SW5kZXggIT09IG1hdGNoLmlucHV0SW5kZXgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFBvWC01IGRlc2NyaXB0b3IgbWF0Y2ggYmVsb25ncyB0byBQU0JUIGlucHV0ICR7bWF0Y2guaW5wdXRJbmRleH0sIG5vdCAke2lucHV0SW5kZXh9YCk7XG4gIH1cbn1cblxuLyoqIEZpbmFsaXplIHRoZSBwb3N0LUNMVFYgMi1vZi0zIFBvWC01IHNwZW5kIGJyYW5jaC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5hbGl6ZVBveDVMb2NrdGltZVBhdGgocHNidDogUHNidCwgaW5wdXRJbmRleDogbnVtYmVyLCBwYXJhbXM6IFBveDVGaW5hbGl6ZXJQYXJhbXMpOiB2b2lkIHtcbiAgYXNzZXJ0RmluYWxpemVySW5wdXRJbmRleChpbnB1dEluZGV4LCBwYXJhbXMubWF0Y2gpO1xuICBwb3g1LmFzc2VydFBveDVMb2NrdGltZVNwZW5kKHBzYnQsIFtwYXJhbXMubWF0Y2hdKTtcbiAgcHNidC51cGRhdGVJbnB1dFdpdGhEZXNjcmlwdG9yKGlucHV0SW5kZXgsIHBhcmFtcy5tYXRjaC5kZXNjcmlwdG9yKTtcbiAgcHNidC5maW5hbGl6ZUlucHV0KGlucHV0SW5kZXgpO1xufVxuXG4vKiogRmluYWxpemUgdGhlIHByaW5jaXBhbC1wcmVpbWFnZSBlYXJseS1leGl0IDItb2YtMyBQb1gtNSBzcGVuZCBicmFuY2guICovXG5leHBvcnQgZnVuY3Rpb24gZmluYWxpemVQb3g1RWFybHlFeGl0UGF0aChcbiAgcHNidDogUHNidCxcbiAgaW5wdXRJbmRleDogbnVtYmVyLFxuICBwYXJhbXM6IFBveDVGaW5hbGl6ZXJQYXJhbXMgJiB7IHByaW5jaXBhbFByZWltYWdlOiBVaW50OEFycmF5IH1cbik6IHZvaWQge1xuICBhc3NlcnRGaW5hbGl6ZXJJbnB1dEluZGV4KGlucHV0SW5kZXgsIHBhcmFtcy5tYXRjaCk7XG4gIHBveDUucHJlcGFyZVBveDVFYXJseUV4aXQocHNidCwgaW5wdXRJbmRleCwgcGFyYW1zLm1hdGNoLCBwYXJhbXMucHJpbmNpcGFsUHJlaW1hZ2UpO1xuICBwc2J0LnVwZGF0ZUlucHV0V2l0aERlc2NyaXB0b3IoaW5wdXRJbmRleCwgcGFyYW1zLm1hdGNoLmRlc2NyaXB0b3IpO1xuICBwc2J0LmZpbmFsaXplSW5wdXQoaW5wdXRJbmRleCk7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bug71.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bug71.d.ts","sourceRoot":"","sources":["../../../../../test/unit/babylon/bug71.ts"],"names":[],"mappings":""}
@@ -0,0 +1,108 @@
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
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const fs = __importStar(require("fs"));
40
+ const assert_1 = __importDefault(require("assert"));
41
+ const bitcoinjs = __importStar(require("bitcoinjs-lib"));
42
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
43
+ const wasmMiniscript = __importStar(require("@bitgo/wasm-utxo"));
44
+ // demonstrate https://github.com/babylonlabs-io/btc-staking-ts/issues/71
45
+ describe('btc-staking-ts bug #71', function () {
46
+ let buf;
47
+ before('load half-signed transaction', async function () {
48
+ const fixture = JSON.parse(await fs.promises.readFile(__dirname + '/../../fixtures/babylon/txTree.testnet.json', 'utf-8'));
49
+ const base64 = fixture.slashingSignedBase64;
50
+ (0, assert_1.default)(typeof base64 === 'string');
51
+ buf = Buffer.from(base64, 'base64');
52
+ });
53
+ it('can finalize with bitcoinjs-lib', function () {
54
+ const psbt = bitcoinjs.Psbt.fromBuffer(buf);
55
+ // this does not throw because of a bug in bitcoinjs-lib
56
+ psbt.finalizeAllInputs();
57
+ });
58
+ it('cannot finalize with utxolib', function () {
59
+ const psbt = utxolib.Psbt.fromBuffer(buf);
60
+ assert_1.default.throws(() => {
61
+ psbt.finalizeAllInputs();
62
+ }, /Error: Can not finalize input #0/);
63
+ });
64
+ it('cannot finalize with wasm-miniscript', function () {
65
+ const psbt = wasmMiniscript.Psbt.deserialize(buf);
66
+ assert_1.default.throws(() => {
67
+ psbt.finalize();
68
+ }, /Could not satisfy Tr descriptor/);
69
+ });
70
+ it('cannot finalize with bitcoind', async function () {
71
+ let cookie;
72
+ try {
73
+ cookie = await fs.promises.readFile(process.env.HOME + '/.bitcoin/regtest/.cookie', 'utf-8');
74
+ }
75
+ catch (e) {
76
+ if (e.code === 'ENOENT') {
77
+ console.log('No cookie file found, skipping test');
78
+ this.skip();
79
+ }
80
+ throw e;
81
+ }
82
+ // make regtest JSON-RPC request with cookie
83
+ const url = 'http://localhost:18443';
84
+ const headers = {
85
+ 'Content-Type': 'application/json',
86
+ Authorization: 'Basic ' + Buffer.from(cookie, 'utf-8').toString('base64'),
87
+ };
88
+ // Create the request payload for finalizepsbt RPC call
89
+ const body = JSON.stringify({
90
+ jsonrpc: '1.0',
91
+ id: 'bitgo-test',
92
+ method: 'finalizepsbt',
93
+ params: [buf.toString('base64')],
94
+ });
95
+ // Make the RPC request
96
+ const response = await fetch(url, {
97
+ method: 'POST',
98
+ headers,
99
+ body,
100
+ });
101
+ assert_1.default.deepStrictEqual((await response.json()).result, {
102
+ // the response psbt is the same as the input psbt - not finalized
103
+ psbt: buf.toString('base64'),
104
+ complete: false,
105
+ });
106
+ });
107
+ });
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVnNzEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYmFieWxvbi9idWc3MS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF5QjtBQUN6QixvREFBNEI7QUFFNUIseURBQTJDO0FBQzNDLDhEQUFnRDtBQUNoRCxpRUFBbUQ7QUFFbkQseUVBQXlFO0FBQ3pFLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRTtJQUNqQyxJQUFJLEdBQVcsQ0FBQztJQUNoQixNQUFNLENBQUMsOEJBQThCLEVBQUUsS0FBSztRQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUN4QixNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyw2Q0FBNkMsRUFBRSxPQUFPLENBQUMsQ0FDL0YsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztRQUM1QyxJQUFBLGdCQUFNLEVBQUMsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDbkMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLHdEQUF3RDtRQUN4RCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4QkFBOEIsRUFBRTtRQUNqQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDakIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDM0IsQ0FBQyxFQUFFLGtDQUFrQyxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsc0NBQXNDLEVBQUU7UUFDekMsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEQsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztJQUN4QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywrQkFBK0IsRUFBRSxLQUFLO1FBQ3ZDLElBQUksTUFBYyxDQUFDO1FBQ25CLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9GLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLENBQUM7WUFDRCxNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7UUFDRCw0Q0FBNEM7UUFDNUMsTUFBTSxHQUFHLEdBQUcsd0JBQXdCLENBQUM7UUFDckMsTUFBTSxPQUFPLEdBQUc7WUFDZCxjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDLGFBQWEsRUFBRSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztTQUMxRSxDQUFDO1FBRUYsdURBQXVEO1FBQ3ZELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDMUIsT0FBTyxFQUFFLEtBQUs7WUFDZCxFQUFFLEVBQUUsWUFBWTtZQUNoQixNQUFNLEVBQUUsY0FBYztZQUN0QixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2pDLENBQUMsQ0FBQztRQUVILHVCQUF1QjtRQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDaEMsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPO1lBQ1AsSUFBSTtTQUNMLENBQUMsQ0FBQztRQUVILGdCQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDckQsa0VBQWtFO1lBQ2xFLElBQUksRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUM1QixRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgKiBhcyBiaXRjb2luanMgZnJvbSAnYml0Y29pbmpzLWxpYic7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIHdhc21NaW5pc2NyaXB0IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG4vLyBkZW1vbnN0cmF0ZSBodHRwczovL2dpdGh1Yi5jb20vYmFieWxvbmxhYnMtaW8vYnRjLXN0YWtpbmctdHMvaXNzdWVzLzcxXG5kZXNjcmliZSgnYnRjLXN0YWtpbmctdHMgYnVnICM3MScsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IGJ1ZjogQnVmZmVyO1xuICBiZWZvcmUoJ2xvYWQgaGFsZi1zaWduZWQgdHJhbnNhY3Rpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgZml4dHVyZSA9IEpTT04ucGFyc2UoXG4gICAgICBhd2FpdCBmcy5wcm9taXNlcy5yZWFkRmlsZShfX2Rpcm5hbWUgKyAnLy4uLy4uL2ZpeHR1cmVzL2JhYnlsb24vdHhUcmVlLnRlc3RuZXQuanNvbicsICd1dGYtOCcpXG4gICAgKTtcbiAgICBjb25zdCBiYXNlNjQgPSBmaXh0dXJlLnNsYXNoaW5nU2lnbmVkQmFzZTY0O1xuICAgIGFzc2VydCh0eXBlb2YgYmFzZTY0ID09PSAnc3RyaW5nJyk7XG4gICAgYnVmID0gQnVmZmVyLmZyb20oYmFzZTY0LCAnYmFzZTY0Jyk7XG4gIH0pO1xuXG4gIGl0KCdjYW4gZmluYWxpemUgd2l0aCBiaXRjb2luanMtbGliJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHBzYnQgPSBiaXRjb2luanMuUHNidC5mcm9tQnVmZmVyKGJ1Zik7XG4gICAgLy8gdGhpcyBkb2VzIG5vdCB0aHJvdyBiZWNhdXNlIG9mIGEgYnVnIGluIGJpdGNvaW5qcy1saWJcbiAgICBwc2J0LmZpbmFsaXplQWxsSW5wdXRzKCk7XG4gIH0pO1xuXG4gIGl0KCdjYW5ub3QgZmluYWxpemUgd2l0aCB1dHhvbGliJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHBzYnQgPSB1dHhvbGliLlBzYnQuZnJvbUJ1ZmZlcihidWYpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4ge1xuICAgICAgcHNidC5maW5hbGl6ZUFsbElucHV0cygpO1xuICAgIH0sIC9FcnJvcjogQ2FuIG5vdCBmaW5hbGl6ZSBpbnB1dCAjMC8pO1xuICB9KTtcblxuICBpdCgnY2Fubm90IGZpbmFsaXplIHdpdGggd2FzbS1taW5pc2NyaXB0JywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHBzYnQgPSB3YXNtTWluaXNjcmlwdC5Qc2J0LmRlc2VyaWFsaXplKGJ1Zik7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiB7XG4gICAgICBwc2J0LmZpbmFsaXplKCk7XG4gICAgfSwgL0NvdWxkIG5vdCBzYXRpc2Z5IFRyIGRlc2NyaXB0b3IvKTtcbiAgfSk7XG5cbiAgaXQoJ2Nhbm5vdCBmaW5hbGl6ZSB3aXRoIGJpdGNvaW5kJywgYXN5bmMgZnVuY3Rpb24gKHRoaXM6IE1vY2hhLkNvbnRleHQpIHtcbiAgICBsZXQgY29va2llOiBzdHJpbmc7XG4gICAgdHJ5IHtcbiAgICAgIGNvb2tpZSA9IGF3YWl0IGZzLnByb21pc2VzLnJlYWRGaWxlKHByb2Nlc3MuZW52LkhPTUUgKyAnLy5iaXRjb2luL3JlZ3Rlc3QvLmNvb2tpZScsICd1dGYtOCcpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdObyBjb29raWUgZmlsZSBmb3VuZCwgc2tpcHBpbmcgdGVzdCcpO1xuICAgICAgICB0aGlzLnNraXAoKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICAgIC8vIG1ha2UgcmVndGVzdCBKU09OLVJQQyByZXF1ZXN0IHdpdGggY29va2llXG4gICAgY29uc3QgdXJsID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6MTg0NDMnO1xuICAgIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgQXV0aG9yaXphdGlvbjogJ0Jhc2ljICcgKyBCdWZmZXIuZnJvbShjb29raWUsICd1dGYtOCcpLnRvU3RyaW5nKCdiYXNlNjQnKSxcbiAgICB9O1xuXG4gICAgLy8gQ3JlYXRlIHRoZSByZXF1ZXN0IHBheWxvYWQgZm9yIGZpbmFsaXplcHNidCBSUEMgY2FsbFxuICAgIGNvbnN0IGJvZHkgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBqc29ucnBjOiAnMS4wJyxcbiAgICAgIGlkOiAnYml0Z28tdGVzdCcsXG4gICAgICBtZXRob2Q6ICdmaW5hbGl6ZXBzYnQnLFxuICAgICAgcGFyYW1zOiBbYnVmLnRvU3RyaW5nKCdiYXNlNjQnKV0sXG4gICAgfSk7XG5cbiAgICAvLyBNYWtlIHRoZSBSUEMgcmVxdWVzdFxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnMsXG4gICAgICBib2R5LFxuICAgIH0pO1xuXG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbCgoYXdhaXQgcmVzcG9uc2UuanNvbigpKS5yZXN1bHQsIHtcbiAgICAgIC8vIHRoZSByZXNwb25zZSBwc2J0IGlzIHRoZSBzYW1lIGFzIHRoZSBpbnB1dCBwc2J0IC0gbm90IGZpbmFsaXplZFxuICAgICAgcHNidDogYnVmLnRvU3RyaW5nKCdiYXNlNjQnKSxcbiAgICAgIGNvbXBsZXRlOiBmYWxzZSxcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import { ECPairInterface } from '@bitgo-beta/utxo-lib';
2
+ export declare function getECKey(seed: string): ECPairInterface;
3
+ export declare function getECKeys(key: string, count: number): ECPairInterface[];
4
+ export declare function getXOnlyPubkey(key: ECPairInterface): Buffer;
5
+ export declare function fromXOnlyPublicKey(key: Buffer): ECPairInterface;
6
+ //# sourceMappingURL=key.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key.utils.d.ts","sourceRoot":"","sources":["../../../../../test/unit/babylon/key.utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAItD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE,CAEvE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAE3D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAS/D"}
@@ -0,0 +1,68 @@
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
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getECKey = getECKey;
40
+ exports.getECKeys = getECKeys;
41
+ exports.getXOnlyPubkey = getXOnlyPubkey;
42
+ exports.fromXOnlyPublicKey = fromXOnlyPublicKey;
43
+ const assert_1 = __importDefault(require("assert"));
44
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
45
+ const testutil_1 = require("@bitgo-beta/utxo-core/testutil");
46
+ function getECKey(seed) {
47
+ const { privateKey } = (0, testutil_1.getKey)(seed);
48
+ (0, assert_1.default)(privateKey);
49
+ return utxolib.ECPair.fromPrivateKey(privateKey);
50
+ }
51
+ function getECKeys(key, count) {
52
+ return Array.from({ length: count }, (_, i) => getECKey(`${key}${i}`));
53
+ }
54
+ function getXOnlyPubkey(key) {
55
+ return key.publicKey.subarray(1);
56
+ }
57
+ function fromXOnlyPublicKey(key) {
58
+ for (const prefix of [0x02, 0x03]) {
59
+ try {
60
+ return utxolib.ECPair.fromPublicKey(Buffer.concat([Buffer.from([prefix]), key]));
61
+ }
62
+ catch {
63
+ continue;
64
+ }
65
+ }
66
+ throw new Error('Invalid x-only public key');
67
+ }
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2JhYnlsb24va2V5LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsNEJBSUM7QUFFRCw4QkFFQztBQUVELHdDQUVDO0FBRUQsZ0RBU0M7QUE3QkQsb0RBQTRCO0FBRTVCLDhEQUFnRDtBQUVoRCw2REFBd0Q7QUFFeEQsU0FBZ0IsUUFBUSxDQUFDLElBQVk7SUFDbkMsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUEsaUJBQU0sRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxJQUFBLGdCQUFNLEVBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsU0FBZ0IsU0FBUyxDQUFDLEdBQVcsRUFBRSxLQUFhO0lBQ2xELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxHQUFvQjtJQUNqRCxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxHQUFXO0lBQzVDLEtBQUssTUFBTSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUM7WUFDSCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkYsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLFNBQVM7UUFDWCxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IEVDUGFpckludGVyZmFjZSB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IGdldEtleSB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tY29yZS90ZXN0dXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFQ0tleShzZWVkOiBzdHJpbmcpOiBFQ1BhaXJJbnRlcmZhY2Uge1xuICBjb25zdCB7IHByaXZhdGVLZXkgfSA9IGdldEtleShzZWVkKTtcbiAgYXNzZXJ0KHByaXZhdGVLZXkpO1xuICByZXR1cm4gdXR4b2xpYi5FQ1BhaXIuZnJvbVByaXZhdGVLZXkocHJpdmF0ZUtleSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFQ0tleXMoa2V5OiBzdHJpbmcsIGNvdW50OiBudW1iZXIpOiBFQ1BhaXJJbnRlcmZhY2VbXSB7XG4gIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBjb3VudCB9LCAoXywgaSkgPT4gZ2V0RUNLZXkoYCR7a2V5fSR7aX1gKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRYT25seVB1YmtleShrZXk6IEVDUGFpckludGVyZmFjZSk6IEJ1ZmZlciB7XG4gIHJldHVybiBrZXkucHVibGljS2V5LnN1YmFycmF5KDEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJvbVhPbmx5UHVibGljS2V5KGtleTogQnVmZmVyKTogRUNQYWlySW50ZXJmYWNlIHtcbiAgZm9yIChjb25zdCBwcmVmaXggb2YgWzB4MDIsIDB4MDNdKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB1dHhvbGliLkVDUGFpci5mcm9tUHVibGljS2V5KEJ1ZmZlci5jb25jYXQoW0J1ZmZlci5mcm9tKFtwcmVmaXhdKSwga2V5XSkpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB4LW9ubHkgcHVibGljIGtleScpO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=transactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../../../test/unit/babylon/transactions.ts"],"names":[],"mappings":""}