@bitgo-beta/sdk-coin-stx 1.1.1-beta.227 → 1.1.1-beta.2270

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 (96) hide show
  1. package/dist/src/index.d.ts +1 -0
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +24 -9
  4. package/dist/src/lib/abstractContractBuilder.js +4 -4
  5. package/dist/src/lib/btcAddressUtils.d.ts +30 -0
  6. package/dist/src/lib/btcAddressUtils.d.ts.map +1 -0
  7. package/dist/src/lib/btcAddressUtils.js +134 -0
  8. package/dist/src/lib/constants.d.ts +16 -1
  9. package/dist/src/lib/constants.d.ts.map +1 -1
  10. package/dist/src/lib/constants.js +30 -3
  11. package/dist/src/lib/contractBuilder.d.ts.map +1 -1
  12. package/dist/src/lib/contractBuilder.js +44 -12
  13. package/dist/src/lib/fungibleTokenTransferBuilder.d.ts +62 -0
  14. package/dist/src/lib/fungibleTokenTransferBuilder.d.ts.map +1 -0
  15. package/dist/src/lib/fungibleTokenTransferBuilder.js +131 -0
  16. package/dist/src/lib/iface.d.ts +61 -0
  17. package/dist/src/lib/iface.d.ts.map +1 -1
  18. package/dist/src/lib/iface.js +1 -1
  19. package/dist/src/lib/index.d.ts +4 -0
  20. package/dist/src/lib/index.d.ts.map +1 -1
  21. package/dist/src/lib/index.js +27 -9
  22. package/dist/src/lib/keyPair.js +18 -19
  23. package/dist/src/lib/pox5Builder.d.ts +78 -0
  24. package/dist/src/lib/pox5Builder.d.ts.map +1 -0
  25. package/dist/src/lib/pox5Builder.js +148 -0
  26. package/dist/src/lib/sbtcWithdrawBuilder.d.ts +38 -0
  27. package/dist/src/lib/sbtcWithdrawBuilder.d.ts.map +1 -0
  28. package/dist/src/lib/sbtcWithdrawBuilder.js +150 -0
  29. package/dist/src/lib/sendmanyBuilder.js +12 -12
  30. package/dist/src/lib/transaction.d.ts.map +1 -1
  31. package/dist/src/lib/transaction.js +31 -15
  32. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  33. package/dist/src/lib/transactionBuilder.js +14 -14
  34. package/dist/src/lib/transactionBuilderFactory.d.ts +6 -0
  35. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  36. package/dist/src/lib/transactionBuilderFactory.js +23 -2
  37. package/dist/src/lib/transferBuilder.js +7 -7
  38. package/dist/src/lib/utils.d.ts +45 -3
  39. package/dist/src/lib/utils.d.ts.map +1 -1
  40. package/dist/src/lib/utils.js +199 -64
  41. package/dist/src/register.d.ts.map +1 -1
  42. package/dist/src/register.js +5 -1
  43. package/dist/src/sip10Token.d.ts +22 -0
  44. package/dist/src/sip10Token.d.ts.map +1 -0
  45. package/dist/src/sip10Token.js +128 -0
  46. package/dist/src/stx.d.ts +154 -2
  47. package/dist/src/stx.d.ts.map +1 -1
  48. package/dist/src/stx.js +489 -11
  49. package/dist/src/tstx.js +1 -1
  50. package/dist/test/fixtures.d.ts +119 -0
  51. package/dist/test/fixtures.d.ts.map +1 -0
  52. package/dist/test/fixtures.js +147 -0
  53. package/dist/test/unit/btcAddressUtils.d.ts +2 -0
  54. package/dist/test/unit/btcAddressUtils.d.ts.map +1 -0
  55. package/dist/test/unit/btcAddressUtils.js +82 -0
  56. package/dist/test/unit/keyPair.d.ts +2 -0
  57. package/dist/test/unit/keyPair.d.ts.map +1 -0
  58. package/dist/test/unit/keyPair.js +144 -0
  59. package/dist/test/unit/resources.d.ts +97 -0
  60. package/dist/test/unit/resources.d.ts.map +1 -0
  61. package/dist/test/unit/resources.js +144 -0
  62. package/dist/test/unit/sip10Token.d.ts +2 -0
  63. package/dist/test/unit/sip10Token.d.ts.map +1 -0
  64. package/dist/test/unit/sip10Token.js +374 -0
  65. package/dist/test/unit/stx.d.ts +2 -0
  66. package/dist/test/unit/stx.d.ts.map +1 -0
  67. package/dist/test/unit/stx.js +624 -0
  68. package/dist/test/unit/transaction.d.ts +2 -0
  69. package/dist/test/unit/transaction.d.ts.map +1 -0
  70. package/dist/test/unit/transaction.js +83 -0
  71. package/dist/test/unit/transactionBuilder/contractBuilder.d.ts +2 -0
  72. package/dist/test/unit/transactionBuilder/contractBuilder.d.ts.map +1 -0
  73. package/dist/test/unit/transactionBuilder/contractBuilder.js +463 -0
  74. package/dist/test/unit/transactionBuilder/fungibleTokenTransferBuilder.d.ts +2 -0
  75. package/dist/test/unit/transactionBuilder/fungibleTokenTransferBuilder.d.ts.map +1 -0
  76. package/dist/test/unit/transactionBuilder/fungibleTokenTransferBuilder.js +191 -0
  77. package/dist/test/unit/transactionBuilder/pox5Builder.d.ts +2 -0
  78. package/dist/test/unit/transactionBuilder/pox5Builder.d.ts.map +1 -0
  79. package/dist/test/unit/transactionBuilder/pox5Builder.js +250 -0
  80. package/dist/test/unit/transactionBuilder/sbtcWithdrawBuilder.d.ts +2 -0
  81. package/dist/test/unit/transactionBuilder/sbtcWithdrawBuilder.d.ts.map +1 -0
  82. package/dist/test/unit/transactionBuilder/sbtcWithdrawBuilder.js +306 -0
  83. package/dist/test/unit/transactionBuilder/sendmanyBuilder.d.ts +2 -0
  84. package/dist/test/unit/transactionBuilder/sendmanyBuilder.d.ts.map +1 -0
  85. package/dist/test/unit/transactionBuilder/sendmanyBuilder.js +140 -0
  86. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
  87. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  88. package/dist/test/unit/transactionBuilder/transferBuilder.js +347 -0
  89. package/dist/test/unit/util.d.ts +2 -0
  90. package/dist/test/unit/util.d.ts.map +1 -0
  91. package/dist/test/unit/util.js +340 -0
  92. package/dist/tsconfig.tsbuildinfo +1 -0
  93. package/package.json +16 -12
  94. package/.eslintignore +0 -5
  95. package/.mocharc.yml +0 -8
  96. package/CHANGELOG.md +0 -127
@@ -3,4 +3,5 @@ export * from './stx';
3
3
  export * from './tstx';
4
4
  export * from './types';
5
5
  export * from './register';
6
+ export * from './sip10Token';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,OAAO,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,OAAO,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -11,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
11
15
  }) : function(o, v) {
12
16
  o["default"] = v;
13
17
  });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
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
+ })();
21
35
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
22
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
23
37
  };
@@ -28,4 +42,5 @@ __exportStar(require("./stx"), exports);
28
42
  __exportStar(require("./tstx"), exports);
29
43
  __exportStar(require("./types"), exports);
30
44
  __exportStar(require("./register"), exports);
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUFnQztBQUNoQyx3Q0FBc0I7QUFDdEIseUNBQXVCO0FBQ3ZCLDBDQUF3QjtBQUN4Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBTdHhMaWIgZnJvbSAnLi9saWInO1xuZXhwb3J0ICogZnJvbSAnLi9zdHgnO1xuZXhwb3J0ICogZnJvbSAnLi90c3R4JztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG4iXX0=
45
+ __exportStar(require("./sip10Token"), exports);
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQWdDO0FBQ2hDLHdDQUFzQjtBQUN0Qix5Q0FBdUI7QUFDdkIsMENBQXdCO0FBQ3hCLDZDQUEyQjtBQUMzQiwrQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBTdHhMaWIgZnJvbSAnLi9saWInO1xuZXhwb3J0ICogZnJvbSAnLi9zdHgnO1xuZXhwb3J0ICogZnJvbSAnLi90c3R4JztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL3NpcDEwVG9rZW4nO1xuIl19
@@ -32,7 +32,7 @@ class AbstractContractBuilder extends transactionBuilder_1.TransactionBuilder {
32
32
  async buildImplementation() {
33
33
  this._options = this.buildContractCallOptions();
34
34
  this.transaction.setTransactionType(sdk_core_1.TransactionType.ContractCall);
35
- this.transaction.stxTransaction = await transactions_1.makeUnsignedContractCall(this._options);
35
+ this.transaction.stxTransaction = await (0, transactions_1.makeUnsignedContractCall)(this._options);
36
36
  return await super.buildImplementation();
37
37
  }
38
38
  buildContractCallOptions() {
@@ -45,8 +45,8 @@ class AbstractContractBuilder extends transactionBuilder_1.TransactionBuilder {
45
45
  postConditions: this._postConditions,
46
46
  anchorMode: this._anchorMode,
47
47
  network: this._network,
48
- fee: new bn_js_1.default(this._fee.fee),
49
- nonce: new bn_js_1.default(this._nonce),
48
+ fee: new bn_js_1.default(this._fee.fee).toString(),
49
+ nonce: new bn_js_1.default(this._nonce).toString(),
50
50
  };
51
51
  if (this._fromPubKeys.length === 1) {
52
52
  return {
@@ -67,4 +67,4 @@ class AbstractContractBuilder extends transactionBuilder_1.TransactionBuilder {
67
67
  }
68
68
  }
69
69
  exports.AbstractContractBuilder = AbstractContractBuilder;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RDb250cmFjdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2Fic3RyYWN0Q29udHJhY3RCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLGtEQUEyQjtBQUMzQix1REFTOEI7QUFDOUIsbURBSzhCO0FBRTlCLDZEQUEwRDtBQUUxRCxNQUFzQix1QkFBd0IsU0FBUSx1Q0FBa0I7SUFTdEUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsS0FBSywwQkFBVyxDQUFDLFlBQVksRUFBRTtZQUMzRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7WUFDdkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDakQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN2QjthQUFNO1lBQ0wsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDeEU7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxNQUFNLHVDQUF3QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRixPQUFPLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixNQUFNLFdBQVcsR0FBd0I7WUFDdkMsZUFBZSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdEMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2hDLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNoQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDaEMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtZQUMxQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDcEMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzVCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN0QixHQUFHLEVBQUUsSUFBSSxlQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDOUIsS0FBSyxFQUFFLElBQUksZUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDL0IsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLE9BQU87Z0JBQ0wsR0FBRyxXQUFXO2dCQUNkLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQzthQUNoQyxDQUFDO1NBQ0g7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QyxPQUFPO2dCQUNMLEdBQUcsV0FBVztnQkFDZCxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQzdCLGFBQWEsRUFBRSxJQUFJLENBQUMsaUJBQWlCO2FBQ3RDLENBQUM7U0FDSDthQUFNO1lBQ0wsTUFBTSxJQUFJLHFDQUEwQixDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0NBQ0Y7QUFqRUQsMERBaUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IEJpZ051bSBmcm9tICdibi5qcyc7XG5pbXBvcnQge1xuICBDbGFyaXR5VmFsdWUsXG4gIENvbnRyYWN0Q2FsbE9wdGlvbnMsXG4gIG1ha2VVbnNpZ25lZENvbnRyYWN0Q2FsbCxcbiAgUGF5bG9hZFR5cGUsXG4gIFBvc3RDb25kaXRpb24sXG4gIFBvc3RDb25kaXRpb25Nb2RlLFxuICBVbnNpZ25lZENvbnRyYWN0Q2FsbE9wdGlvbnMsXG4gIFVuc2lnbmVkTXVsdGlTaWdDb250cmFjdENhbGxPcHRpb25zLFxufSBmcm9tICdAc3RhY2tzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQge1xuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RDb250cmFjdEJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF9vcHRpb25zOiBVbnNpZ25lZENvbnRyYWN0Q2FsbE9wdGlvbnMgfCBVbnNpZ25lZE11bHRpU2lnQ29udHJhY3RDYWxsT3B0aW9ucztcbiAgcHJvdGVjdGVkIF9jb250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9jb250cmFjdE5hbWU6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9mdW5jdGlvbk5hbWU6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9wb3N0Q29uZGl0aW9uTW9kZT86IFBvc3RDb25kaXRpb25Nb2RlO1xuICBwcm90ZWN0ZWQgX3Bvc3RDb25kaXRpb25zPzogUG9zdENvbmRpdGlvbltdO1xuICBwcm90ZWN0ZWQgX2Z1bmN0aW9uQXJnczogQ2xhcml0eVZhbHVlW107XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgdHhEYXRhID0gdHgudG9Kc29uKCk7XG4gICAgaWYgKHR4RGF0YS5wYXlsb2FkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigncGF5bG9hZCBtdXN0IG5vdCBiZSB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgaWYgKHR4RGF0YS5wYXlsb2FkLnBheWxvYWRUeXBlID09PSBQYXlsb2FkVHlwZS5Db250cmFjdENhbGwpIHtcbiAgICAgIHRoaXMuX2NvbnRyYWN0QWRkcmVzcyA9IHR4RGF0YS5wYXlsb2FkLmNvbnRyYWN0QWRkcmVzcztcbiAgICAgIHRoaXMuX2NvbnRyYWN0TmFtZSA9IHR4RGF0YS5wYXlsb2FkLmNvbnRyYWN0TmFtZTtcbiAgICAgIHRoaXMuX2Z1bmN0aW9uTmFtZSA9IHR4RGF0YS5wYXlsb2FkLmZ1bmN0aW9uTmFtZTtcbiAgICAgIHRoaXMuX2Z1bmN0aW9uQXJncyA9IHR4RGF0YS5wYXlsb2FkLmZ1bmN0aW9uQXJncztcbiAgICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gc2hvdWxkIGJlIGNvbnRyYWN0IGNhbGwnKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMuX29wdGlvbnMgPSB0aGlzLmJ1aWxkQ29udHJhY3RDYWxsT3B0aW9ucygpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5Db250cmFjdENhbGwpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc3R4VHJhbnNhY3Rpb24gPSBhd2FpdCBtYWtlVW5zaWduZWRDb250cmFjdENhbGwodGhpcy5fb3B0aW9ucyk7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRDb250cmFjdENhbGxPcHRpb25zKCk6IFVuc2lnbmVkQ29udHJhY3RDYWxsT3B0aW9ucyB8IFVuc2lnbmVkTXVsdGlTaWdDb250cmFjdENhbGxPcHRpb25zIHtcbiAgICBjb25zdCBkZWZhdWx0T3B0czogQ29udHJhY3RDYWxsT3B0aW9ucyA9IHtcbiAgICAgIGNvbnRyYWN0QWRkcmVzczogdGhpcy5fY29udHJhY3RBZGRyZXNzLFxuICAgICAgY29udHJhY3ROYW1lOiB0aGlzLl9jb250cmFjdE5hbWUsXG4gICAgICBmdW5jdGlvbk5hbWU6IHRoaXMuX2Z1bmN0aW9uTmFtZSxcbiAgICAgIGZ1bmN0aW9uQXJnczogdGhpcy5fZnVuY3Rpb25BcmdzLFxuICAgICAgcG9zdENvbmRpdGlvbk1vZGU6IHRoaXMuX3Bvc3RDb25kaXRpb25Nb2RlLFxuICAgICAgcG9zdENvbmRpdGlvbnM6IHRoaXMuX3Bvc3RDb25kaXRpb25zLFxuICAgICAgYW5jaG9yTW9kZTogdGhpcy5fYW5jaG9yTW9kZSxcbiAgICAgIG5ldHdvcms6IHRoaXMuX25ldHdvcmssXG4gICAgICBmZWU6IG5ldyBCaWdOdW0odGhpcy5fZmVlLmZlZSksXG4gICAgICBub25jZTogbmV3IEJpZ051bSh0aGlzLl9ub25jZSksXG4gICAgfTtcbiAgICBpZiAodGhpcy5fZnJvbVB1YktleXMubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5kZWZhdWx0T3B0cyxcbiAgICAgICAgcHVibGljS2V5OiB0aGlzLl9mcm9tUHViS2V5c1swXSxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLl9mcm9tUHViS2V5cy5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5kZWZhdWx0T3B0cyxcbiAgICAgICAgcHVibGljS2V5czogdGhpcy5fZnJvbVB1YktleXMsXG4gICAgICAgIG51bVNpZ25hdHVyZXM6IHRoaXMuX251bWJlclNpZ25hdHVyZXMsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ3N1cHBseSBhdCBsZWFzdCAxIHB1YmxpYyBrZXknKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RDb250cmFjdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2Fic3RyYWN0Q29udHJhY3RCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLGtEQUEyQjtBQUMzQix1REFTOEI7QUFDOUIsbURBSzhCO0FBRTlCLDZEQUEwRDtBQUUxRCxNQUFzQix1QkFBd0IsU0FBUSx1Q0FBa0I7SUFTdEUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLGtDQUF1QixDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssMEJBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7WUFDdkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDakQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxNQUFNLElBQUEsdUNBQXdCLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hGLE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLE1BQU0sV0FBVyxHQUF3QjtZQUN2QyxlQUFlLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN0QyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDaEMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2hDLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNoQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzFDLGNBQWMsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNwQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDNUIsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3RCLEdBQUcsRUFBRSxJQUFJLGVBQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUN6QyxLQUFLLEVBQUUsSUFBSSxlQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRTtTQUMxQyxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPO2dCQUNMLEdBQUcsV0FBVztnQkFDZCxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7YUFDaEMsQ0FBQztRQUNKLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hDLE9BQU87Z0JBQ0wsR0FBRyxXQUFXO2dCQUNkLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDN0IsYUFBYSxFQUFFLElBQUksQ0FBQyxpQkFBaUI7YUFDdEMsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLHFDQUEwQixDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWpFRCwwREFpRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgQmlnTnVtIGZyb20gJ2JuLmpzJztcbmltcG9ydCB7XG4gIENsYXJpdHlWYWx1ZSxcbiAgQ29udHJhY3RDYWxsT3B0aW9ucyxcbiAgbWFrZVVuc2lnbmVkQ29udHJhY3RDYWxsLFxuICBQYXlsb2FkVHlwZSxcbiAgUG9zdENvbmRpdGlvbixcbiAgUG9zdENvbmRpdGlvbk1vZGUsXG4gIFVuc2lnbmVkQ29udHJhY3RDYWxsT3B0aW9ucyxcbiAgVW5zaWduZWRNdWx0aVNpZ0NvbnRyYWN0Q2FsbE9wdGlvbnMsXG59IGZyb20gJ0BzdGFja3MvdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7XG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdENvbnRyYWN0QnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX29wdGlvbnM6IFVuc2lnbmVkQ29udHJhY3RDYWxsT3B0aW9ucyB8IFVuc2lnbmVkTXVsdGlTaWdDb250cmFjdENhbGxPcHRpb25zO1xuICBwcm90ZWN0ZWQgX2NvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2NvbnRyYWN0TmFtZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2Z1bmN0aW9uTmFtZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3Bvc3RDb25kaXRpb25Nb2RlPzogUG9zdENvbmRpdGlvbk1vZGU7XG4gIHByb3RlY3RlZCBfcG9zdENvbmRpdGlvbnM/OiBQb3N0Q29uZGl0aW9uW107XG4gIHByb3RlY3RlZCBfZnVuY3Rpb25BcmdzOiBDbGFyaXR5VmFsdWVbXTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBjb25zdCB0eERhdGEgPSB0eC50b0pzb24oKTtcbiAgICBpZiAodHhEYXRhLnBheWxvYWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdwYXlsb2FkIG11c3Qgbm90IGJlIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICBpZiAodHhEYXRhLnBheWxvYWQucGF5bG9hZFR5cGUgPT09IFBheWxvYWRUeXBlLkNvbnRyYWN0Q2FsbCkge1xuICAgICAgdGhpcy5fY29udHJhY3RBZGRyZXNzID0gdHhEYXRhLnBheWxvYWQuY29udHJhY3RBZGRyZXNzO1xuICAgICAgdGhpcy5fY29udHJhY3ROYW1lID0gdHhEYXRhLnBheWxvYWQuY29udHJhY3ROYW1lO1xuICAgICAgdGhpcy5fZnVuY3Rpb25OYW1lID0gdHhEYXRhLnBheWxvYWQuZnVuY3Rpb25OYW1lO1xuICAgICAgdGhpcy5fZnVuY3Rpb25BcmdzID0gdHhEYXRhLnBheWxvYWQuZnVuY3Rpb25BcmdzO1xuICAgICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiBzaG91bGQgYmUgY29udHJhY3QgY2FsbCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IHRoaXMuYnVpbGRDb250cmFjdENhbGxPcHRpb25zKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLkNvbnRyYWN0Q2FsbCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zdHhUcmFuc2FjdGlvbiA9IGF3YWl0IG1ha2VVbnNpZ25lZENvbnRyYWN0Q2FsbCh0aGlzLl9vcHRpb25zKTtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENvbnRyYWN0Q2FsbE9wdGlvbnMoKTogVW5zaWduZWRDb250cmFjdENhbGxPcHRpb25zIHwgVW5zaWduZWRNdWx0aVNpZ0NvbnRyYWN0Q2FsbE9wdGlvbnMge1xuICAgIGNvbnN0IGRlZmF1bHRPcHRzOiBDb250cmFjdENhbGxPcHRpb25zID0ge1xuICAgICAgY29udHJhY3RBZGRyZXNzOiB0aGlzLl9jb250cmFjdEFkZHJlc3MsXG4gICAgICBjb250cmFjdE5hbWU6IHRoaXMuX2NvbnRyYWN0TmFtZSxcbiAgICAgIGZ1bmN0aW9uTmFtZTogdGhpcy5fZnVuY3Rpb25OYW1lLFxuICAgICAgZnVuY3Rpb25BcmdzOiB0aGlzLl9mdW5jdGlvbkFyZ3MsXG4gICAgICBwb3N0Q29uZGl0aW9uTW9kZTogdGhpcy5fcG9zdENvbmRpdGlvbk1vZGUsXG4gICAgICBwb3N0Q29uZGl0aW9uczogdGhpcy5fcG9zdENvbmRpdGlvbnMsXG4gICAgICBhbmNob3JNb2RlOiB0aGlzLl9hbmNob3JNb2RlLFxuICAgICAgbmV0d29yazogdGhpcy5fbmV0d29yayxcbiAgICAgIGZlZTogbmV3IEJpZ051bSh0aGlzLl9mZWUuZmVlKS50b1N0cmluZygpLFxuICAgICAgbm9uY2U6IG5ldyBCaWdOdW0odGhpcy5fbm9uY2UpLnRvU3RyaW5nKCksXG4gICAgfTtcbiAgICBpZiAodGhpcy5fZnJvbVB1YktleXMubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5kZWZhdWx0T3B0cyxcbiAgICAgICAgcHVibGljS2V5OiB0aGlzLl9mcm9tUHViS2V5c1swXSxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLl9mcm9tUHViS2V5cy5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5kZWZhdWx0T3B0cyxcbiAgICAgICAgcHVibGljS2V5czogdGhpcy5fZnJvbVB1YktleXMsXG4gICAgICAgIG51bVNpZ25hdHVyZXM6IHRoaXMuX251bWJlclNpZ25hdHVyZXMsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ3N1cHBseSBhdCBsZWFzdCAxIHB1YmxpYyBrZXknKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ /**
2
+ * sBTC address version bytes as defined by the sBTC withdrawal contract.
3
+ */
4
+ export declare enum SbtcAddressVersion {
5
+ P2PKH = 0,
6
+ P2SH = 1,
7
+ P2WPKH = 4,
8
+ P2WSH = 5,
9
+ P2TR = 6
10
+ }
11
+ interface DecodedBtcAddress {
12
+ version: SbtcAddressVersion;
13
+ hashBytes: Buffer;
14
+ }
15
+ /**
16
+ * Decode a Bitcoin address into an sBTC version byte and hash bytes.
17
+ *
18
+ * @param {string} address - A Bitcoin address (P2PKH, P2SH, P2WPKH, P2WSH, or P2TR)
19
+ * @returns {DecodedBtcAddress} The sBTC version and raw hash bytes
20
+ */
21
+ export declare function decodeBtcAddress(address: string): DecodedBtcAddress;
22
+ /**
23
+ * Check whether a string is a valid Bitcoin address decodable for sBTC withdrawals.
24
+ *
25
+ * @param {string} address - The address to validate
26
+ * @returns {boolean} true if the address can be decoded
27
+ */
28
+ export declare function isValidBtcAddress(address: string): boolean;
29
+ export {};
30
+ //# sourceMappingURL=btcAddressUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btcAddressUtils.d.ts","sourceRoot":"","sources":["../../../src/lib/btcAddressUtils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,KAAK,IAAO;IACZ,IAAI,IAAO;IACX,MAAM,IAAO;IACb,KAAK,IAAO;IACZ,IAAI,IAAO;CACZ;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAOD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CA4DnE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAO1D"}
@@ -0,0 +1,134 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.SbtcAddressVersion = void 0;
37
+ exports.decodeBtcAddress = decodeBtcAddress;
38
+ exports.isValidBtcAddress = isValidBtcAddress;
39
+ const bs58check = __importStar(require("bs58check"));
40
+ const bech32_1 = require("bech32");
41
+ /**
42
+ * sBTC address version bytes as defined by the sBTC withdrawal contract.
43
+ */
44
+ var SbtcAddressVersion;
45
+ (function (SbtcAddressVersion) {
46
+ SbtcAddressVersion[SbtcAddressVersion["P2PKH"] = 0] = "P2PKH";
47
+ SbtcAddressVersion[SbtcAddressVersion["P2SH"] = 1] = "P2SH";
48
+ SbtcAddressVersion[SbtcAddressVersion["P2WPKH"] = 4] = "P2WPKH";
49
+ SbtcAddressVersion[SbtcAddressVersion["P2WSH"] = 5] = "P2WSH";
50
+ SbtcAddressVersion[SbtcAddressVersion["P2TR"] = 6] = "P2TR";
51
+ })(SbtcAddressVersion || (exports.SbtcAddressVersion = SbtcAddressVersion = {}));
52
+ const BASE58_MAINNET_P2PKH = 0x00;
53
+ const BASE58_MAINNET_P2SH = 0x05;
54
+ const BASE58_TESTNET_P2PKH = 0x6f;
55
+ const BASE58_TESTNET_P2SH = 0xc4;
56
+ /**
57
+ * Decode a Bitcoin address into an sBTC version byte and hash bytes.
58
+ *
59
+ * @param {string} address - A Bitcoin address (P2PKH, P2SH, P2WPKH, P2WSH, or P2TR)
60
+ * @returns {DecodedBtcAddress} The sBTC version and raw hash bytes
61
+ */
62
+ function decodeBtcAddress(address) {
63
+ // Try base58check first (P2PKH / P2SH)
64
+ try {
65
+ const decoded = bs58check.decode(address);
66
+ const versionByte = decoded[0];
67
+ const hash = decoded.slice(1);
68
+ if (hash.length !== 20) {
69
+ throw new Error(`Invalid base58check hash length: ${hash.length}`);
70
+ }
71
+ switch (versionByte) {
72
+ case BASE58_MAINNET_P2PKH:
73
+ case BASE58_TESTNET_P2PKH:
74
+ return { version: SbtcAddressVersion.P2PKH, hashBytes: Buffer.from(hash) };
75
+ case BASE58_MAINNET_P2SH:
76
+ case BASE58_TESTNET_P2SH:
77
+ return { version: SbtcAddressVersion.P2SH, hashBytes: Buffer.from(hash) };
78
+ default:
79
+ throw new Error(`Unknown base58check version byte: 0x${versionByte.toString(16)}`);
80
+ }
81
+ }
82
+ catch (e) {
83
+ // Not base58check, try bech32/bech32m below
84
+ }
85
+ // Try bech32 (P2WPKH / P2WSH) and bech32m (P2TR)
86
+ let decoded;
87
+ let isBech32m = false;
88
+ try {
89
+ decoded = bech32_1.bech32.decode(address);
90
+ }
91
+ catch {
92
+ try {
93
+ decoded = bech32_1.bech32m.decode(address);
94
+ isBech32m = true;
95
+ }
96
+ catch {
97
+ throw new Error(`Unable to decode Bitcoin address: ${address}`);
98
+ }
99
+ }
100
+ const witnessVersion = decoded.words[0];
101
+ const data = Buffer.from(bech32_1.bech32.fromWords(decoded.words.slice(1)));
102
+ if (witnessVersion === 0 && !isBech32m) {
103
+ if (data.length === 20) {
104
+ return { version: SbtcAddressVersion.P2WPKH, hashBytes: data };
105
+ }
106
+ else if (data.length === 32) {
107
+ return { version: SbtcAddressVersion.P2WSH, hashBytes: data };
108
+ }
109
+ throw new Error(`Invalid witness v0 program length: ${data.length}`);
110
+ }
111
+ if (witnessVersion === 1 && isBech32m) {
112
+ if (data.length === 32) {
113
+ return { version: SbtcAddressVersion.P2TR, hashBytes: data };
114
+ }
115
+ throw new Error(`Invalid witness v1 program length: ${data.length}`);
116
+ }
117
+ throw new Error(`Unsupported witness version ${witnessVersion} for address: ${address}`);
118
+ }
119
+ /**
120
+ * Check whether a string is a valid Bitcoin address decodable for sBTC withdrawals.
121
+ *
122
+ * @param {string} address - The address to validate
123
+ * @returns {boolean} true if the address can be decoded
124
+ */
125
+ function isValidBtcAddress(address) {
126
+ try {
127
+ decodeBtcAddress(address);
128
+ return true;
129
+ }
130
+ catch {
131
+ return false;
132
+ }
133
+ }
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRjQWRkcmVzc1V0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9idGNBZGRyZXNzVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOEJBLDRDQTREQztBQVFELDhDQU9DO0FBekdELHFEQUF1QztBQUN2QyxtQ0FBeUM7QUFFekM7O0dBRUc7QUFDSCxJQUFZLGtCQU1YO0FBTkQsV0FBWSxrQkFBa0I7SUFDNUIsNkRBQVksQ0FBQTtJQUNaLDJEQUFXLENBQUE7SUFDWCwrREFBYSxDQUFBO0lBQ2IsNkRBQVksQ0FBQTtJQUNaLDJEQUFXLENBQUE7QUFDYixDQUFDLEVBTlcsa0JBQWtCLGtDQUFsQixrQkFBa0IsUUFNN0I7QUFPRCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQztBQUNsQyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQztBQUNqQyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQztBQUNsQyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQztBQUVqQzs7Ozs7R0FLRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLE9BQWU7SUFDOUMsdUNBQXVDO0lBQ3ZDLElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFOUIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFFRCxRQUFRLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLEtBQUss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QUM7SUFDZixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGJzNThjaGVjayBmcm9tICdiczU4Y2hlY2snO1xuaW1wb3J0IHsgYmVjaDMyLCBiZWNoMzJtIH0gZnJvbSAnYmVjaDMyJztcblxuLyoqXG4gKiBzQlRDIGFkZHJlc3MgdmVyc2lvbiBieXRlcyBhcyBkZWZpbmVkIGJ5IHRoZSBzQlRDIHdpdGhkcmF3YWwgY29udHJhY3QuXG4gKi9cbmV4cG9ydCBlbnVtIFNidGNBZGRyZXNzVmVyc2lvbiB7XG4gIFAyUEtIID0gMHgwMCxcbiAgUDJTSCA9IDB4MDEsXG4gIFAyV1BLSCA9IDB4MDQsXG4gIFAyV1NIID0gMHgwNSxcbiAgUDJUUiA9IDB4MDYsXG59XG5cbmludGVyZmFjZSBEZWNvZGVkQnRjQWRkcmVzcyB7XG4gIHZlcnNpb246IFNidGNBZGRyZXNzVmVyc2lvbjtcbiAgaGFzaEJ5dGVzOiBCdWZmZXI7XG59XG5cbmNvbnN0IEJBU0U1OF9NQUlOTkVUX1AyUEtIID0gMHgwMDtcbmNvbnN0IEJBU0U1OF9NQUlOTkVUX1AyU0ggPSAweDA1O1xuY29uc3QgQkFTRTU4X1RFU1RORVRfUDJQS0ggPSAweDZmO1xuY29uc3QgQkFTRTU4X1RFU1RORVRfUDJTSCA9IDB4YzQ7XG5cbi8qKlxuICogRGVjb2RlIGEgQml0Y29pbiBhZGRyZXNzIGludG8gYW4gc0JUQyB2ZXJzaW9uIGJ5dGUgYW5kIGhhc2ggYnl0ZXMuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3MgLSBBIEJpdGNvaW4gYWRkcmVzcyAoUDJQS0gsIFAyU0gsIFAyV1BLSCwgUDJXU0gsIG9yIFAyVFIpXG4gKiBAcmV0dXJucyB7RGVjb2RlZEJ0Y0FkZHJlc3N9IFRoZSBzQlRDIHZlcnNpb24gYW5kIHJhdyBoYXNoIGJ5dGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVCdGNBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IERlY29kZWRCdGNBZGRyZXNzIHtcbiAgLy8gVHJ5IGJhc2U1OGNoZWNrIGZpcnN0IChQMlBLSCAvIFAyU0gpXG4gIHRyeSB7XG4gICAgY29uc3QgZGVjb2RlZCA9IGJzNThjaGVjay5kZWNvZGUoYWRkcmVzcyk7XG4gICAgY29uc3QgdmVyc2lvbkJ5dGUgPSBkZWNvZGVkWzBdO1xuICAgIGNvbnN0IGhhc2ggPSBkZWNvZGVkLnNsaWNlKDEpO1xuXG4gICAgaWYgKGhhc2gubGVuZ3RoICE9PSAyMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJhc2U1OGNoZWNrIGhhc2ggbGVuZ3RoOiAke2hhc2gubGVuZ3RofWApO1xuICAgIH1cblxuICAgIHN3aXRjaCAodmVyc2lvbkJ5dGUpIHtcbiAgICAgIGNhc2UgQkFTRTU4X01BSU5ORVRfUDJQS0g6XG4gICAgICBjYXNlIEJBU0U1OF9URVNUTkVUX1AyUEtIOlxuICAgICAgICByZXR1cm4geyB2ZXJzaW9uOiBTYnRjQWRkcmVzc1ZlcnNpb24uUDJQS0gsIGhhc2hCeXRlczogQnVmZmVyLmZyb20oaGFzaCkgfTtcbiAgICAgIGNhc2UgQkFTRTU4X01BSU5ORVRfUDJTSDpcbiAgICAgIGNhc2UgQkFTRTU4X1RFU1RORVRfUDJTSDpcbiAgICAgICAgcmV0dXJuIHsgdmVyc2lvbjogU2J0Y0FkZHJlc3NWZXJzaW9uLlAyU0gsIGhhc2hCeXRlczogQnVmZmVyLmZyb20oaGFzaCkgfTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBiYXNlNThjaGVjayB2ZXJzaW9uIGJ5dGU6IDB4JHt2ZXJzaW9uQnl0ZS50b1N0cmluZygxNil9YCk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gTm90IGJhc2U1OGNoZWNrLCB0cnkgYmVjaDMyL2JlY2gzMm0gYmVsb3dcbiAgfVxuXG4gIC8vIFRyeSBiZWNoMzIgKFAyV1BLSCAvIFAyV1NIKSBhbmQgYmVjaDMybSAoUDJUUilcbiAgbGV0IGRlY29kZWQ6IHsgcHJlZml4OiBzdHJpbmc7IHdvcmRzOiBudW1iZXJbXSB9O1xuICBsZXQgaXNCZWNoMzJtID0gZmFsc2U7XG5cbiAgdHJ5IHtcbiAgICBkZWNvZGVkID0gYmVjaDMyLmRlY29kZShhZGRyZXNzKTtcbiAgfSBjYXRjaCB7XG4gICAgdHJ5IHtcbiAgICAgIGRlY29kZWQgPSBiZWNoMzJtLmRlY29kZShhZGRyZXNzKTtcbiAgICAgIGlzQmVjaDMybSA9IHRydWU7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBkZWNvZGUgQml0Y29pbiBhZGRyZXNzOiAke2FkZHJlc3N9YCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgd2l0bmVzc1ZlcnNpb24gPSBkZWNvZGVkLndvcmRzWzBdO1xuICBjb25zdCBkYXRhID0gQnVmZmVyLmZyb20oYmVjaDMyLmZyb21Xb3JkcyhkZWNvZGVkLndvcmRzLnNsaWNlKDEpKSk7XG5cbiAgaWYgKHdpdG5lc3NWZXJzaW9uID09PSAwICYmICFpc0JlY2gzMm0pIHtcbiAgICBpZiAoZGF0YS5sZW5ndGggPT09IDIwKSB7XG4gICAgICByZXR1cm4geyB2ZXJzaW9uOiBTYnRjQWRkcmVzc1ZlcnNpb24uUDJXUEtILCBoYXNoQnl0ZXM6IGRhdGEgfTtcbiAgICB9IGVsc2UgaWYgKGRhdGEubGVuZ3RoID09PSAzMikge1xuICAgICAgcmV0dXJuIHsgdmVyc2lvbjogU2J0Y0FkZHJlc3NWZXJzaW9uLlAyV1NILCBoYXNoQnl0ZXM6IGRhdGEgfTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdpdG5lc3MgdjAgcHJvZ3JhbSBsZW5ndGg6ICR7ZGF0YS5sZW5ndGh9YCk7XG4gIH1cblxuICBpZiAod2l0bmVzc1ZlcnNpb24gPT09IDEgJiYgaXNCZWNoMzJtKSB7XG4gICAgaWYgKGRhdGEubGVuZ3RoID09PSAzMikge1xuICAgICAgcmV0dXJuIHsgdmVyc2lvbjogU2J0Y0FkZHJlc3NWZXJzaW9uLlAyVFIsIGhhc2hCeXRlczogZGF0YSB9O1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd2l0bmVzcyB2MSBwcm9ncmFtIGxlbmd0aDogJHtkYXRhLmxlbmd0aH1gKTtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgd2l0bmVzcyB2ZXJzaW9uICR7d2l0bmVzc1ZlcnNpb259IGZvciBhZGRyZXNzOiAke2FkZHJlc3N9YCk7XG59XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEJpdGNvaW4gYWRkcmVzcyBkZWNvZGFibGUgZm9yIHNCVEMgd2l0aGRyYXdhbHMuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3MgLSBUaGUgYWRkcmVzcyB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgdGhlIGFkZHJlc3MgY2FuIGJlIGRlY29kZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRCdGNBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIGRlY29kZUJ0Y0FkZHJlc3MoYWRkcmVzcyk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -1,6 +1,21 @@
1
1
  export declare const FUNCTION_NAME_SENDMANY = "send-many";
2
2
  export declare const CONTRACT_NAME_SENDMANY = "send-many-memo";
3
- export declare const CONTRACT_NAME_STAKING = "pox-2";
3
+ export declare const CONTRACT_NAME_STAKING = "pox-4";
4
+ export declare const CONTRACT_NAME_POX5 = "pox-5";
5
+ export declare const VALID_STAKING_CONTRACT_NAMES: string[];
6
+ export declare const FUNCTION_NAME_TRANSFER = "transfer";
7
+ export declare const CONTRACT_NAME_SBTC_WITHDRAWAL = "sbtc-withdrawal";
8
+ export declare const FUNCTION_NAME_INITIATE_WITHDRAWAL = "initiate-withdrawal-request";
9
+ export declare const FUNCTION_NAME_STAKE = "stake";
10
+ export declare const FUNCTION_NAME_STAKE_UPDATE = "stake-update";
11
+ export declare const FUNCTION_NAME_UNSTAKE = "unstake";
12
+ export declare const FUNCTION_NAME_REGISTER_FOR_BOND = "register-for-bond";
13
+ export declare const FUNCTION_NAME_ANNOUNCE_L1_EARLY_EXIT = "announce-l1-early-exit";
14
+ export declare const FUNCTION_NAME_UPDATE_BOND_REGISTRATION = "update-bond-registration";
15
+ export declare const FUNCTION_NAME_CLAIM_REWARDS = "claim-rewards";
16
+ export declare const FUNCTION_NAME_CLAIM_STAKER_REWARDS = "claim-staker-rewards-for-signer";
17
+ export declare const FUNCTION_NAME_CALCULATE_REWARDS = "calculate-rewards";
18
+ export declare const VALID_POX5_CONTRACT_FUNCTION_NAMES: string[];
4
19
  export declare const VALID_CONTRACT_FUNCTION_NAMES: string[];
5
20
  export declare const DEFAULT_SEED_SIZE_BYTES = 64;
6
21
  export declare const ANCHOR_MODE = 3;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAClD,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAE7C,eAAO,MAAM,6BAA6B,UAOzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAG1C,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,2BAA2B,IAAI,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAClD,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAC7C,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,4BAA4B,UAA8C,CAAC;AACxF,eAAO,MAAM,sBAAsB,aAAa,CAAC;AACjD,eAAO,MAAM,6BAA6B,oBAAoB,CAAC;AAC/D,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAE/E,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAC/C,eAAO,MAAM,+BAA+B,sBAAsB,CAAC;AACnE,eAAO,MAAM,oCAAoC,2BAA2B,CAAC;AAC7E,eAAO,MAAM,sCAAsC,6BAA6B,CAAC;AACjF,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAC3D,eAAO,MAAM,kCAAkC,oCAAoC,CAAC;AACpF,eAAO,MAAM,+BAA+B,sBAAsB,CAAC;AAEnE,eAAO,MAAM,kCAAkC,UAU9C,CAAC;AAEF,eAAO,MAAM,6BAA6B,UASzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAG1C,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,2BAA2B,IAAI,CAAC"}
@@ -1,9 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_MULTISIG_SIG_NUMBER = exports.ANCHOR_MODE = exports.DEFAULT_SEED_SIZE_BYTES = exports.VALID_CONTRACT_FUNCTION_NAMES = exports.CONTRACT_NAME_STAKING = exports.CONTRACT_NAME_SENDMANY = exports.FUNCTION_NAME_SENDMANY = void 0;
3
+ exports.DEFAULT_MULTISIG_SIG_NUMBER = exports.ANCHOR_MODE = exports.DEFAULT_SEED_SIZE_BYTES = exports.VALID_CONTRACT_FUNCTION_NAMES = exports.VALID_POX5_CONTRACT_FUNCTION_NAMES = exports.FUNCTION_NAME_CALCULATE_REWARDS = exports.FUNCTION_NAME_CLAIM_STAKER_REWARDS = exports.FUNCTION_NAME_CLAIM_REWARDS = exports.FUNCTION_NAME_UPDATE_BOND_REGISTRATION = exports.FUNCTION_NAME_ANNOUNCE_L1_EARLY_EXIT = exports.FUNCTION_NAME_REGISTER_FOR_BOND = exports.FUNCTION_NAME_UNSTAKE = exports.FUNCTION_NAME_STAKE_UPDATE = exports.FUNCTION_NAME_STAKE = exports.FUNCTION_NAME_INITIATE_WITHDRAWAL = exports.CONTRACT_NAME_SBTC_WITHDRAWAL = exports.FUNCTION_NAME_TRANSFER = exports.VALID_STAKING_CONTRACT_NAMES = exports.CONTRACT_NAME_POX5 = exports.CONTRACT_NAME_STAKING = exports.CONTRACT_NAME_SENDMANY = exports.FUNCTION_NAME_SENDMANY = void 0;
4
4
  exports.FUNCTION_NAME_SENDMANY = 'send-many';
5
5
  exports.CONTRACT_NAME_SENDMANY = 'send-many-memo';
6
- exports.CONTRACT_NAME_STAKING = 'pox-2';
6
+ exports.CONTRACT_NAME_STAKING = 'pox-4';
7
+ exports.CONTRACT_NAME_POX5 = 'pox-5';
8
+ exports.VALID_STAKING_CONTRACT_NAMES = [exports.CONTRACT_NAME_STAKING, exports.CONTRACT_NAME_POX5];
9
+ exports.FUNCTION_NAME_TRANSFER = 'transfer';
10
+ exports.CONTRACT_NAME_SBTC_WITHDRAWAL = 'sbtc-withdrawal';
11
+ exports.FUNCTION_NAME_INITIATE_WITHDRAWAL = 'initiate-withdrawal-request';
12
+ exports.FUNCTION_NAME_STAKE = 'stake';
13
+ exports.FUNCTION_NAME_STAKE_UPDATE = 'stake-update';
14
+ exports.FUNCTION_NAME_UNSTAKE = 'unstake';
15
+ exports.FUNCTION_NAME_REGISTER_FOR_BOND = 'register-for-bond';
16
+ exports.FUNCTION_NAME_ANNOUNCE_L1_EARLY_EXIT = 'announce-l1-early-exit';
17
+ exports.FUNCTION_NAME_UPDATE_BOND_REGISTRATION = 'update-bond-registration';
18
+ exports.FUNCTION_NAME_CLAIM_REWARDS = 'claim-rewards';
19
+ exports.FUNCTION_NAME_CLAIM_STAKER_REWARDS = 'claim-staker-rewards-for-signer';
20
+ exports.FUNCTION_NAME_CALCULATE_REWARDS = 'calculate-rewards';
21
+ exports.VALID_POX5_CONTRACT_FUNCTION_NAMES = [
22
+ exports.FUNCTION_NAME_STAKE,
23
+ exports.FUNCTION_NAME_STAKE_UPDATE,
24
+ exports.FUNCTION_NAME_UNSTAKE,
25
+ exports.FUNCTION_NAME_REGISTER_FOR_BOND,
26
+ exports.FUNCTION_NAME_UPDATE_BOND_REGISTRATION,
27
+ exports.FUNCTION_NAME_ANNOUNCE_L1_EARLY_EXIT,
28
+ exports.FUNCTION_NAME_CLAIM_REWARDS,
29
+ exports.FUNCTION_NAME_CLAIM_STAKER_REWARDS,
30
+ exports.FUNCTION_NAME_CALCULATE_REWARDS,
31
+ ];
7
32
  exports.VALID_CONTRACT_FUNCTION_NAMES = [
8
33
  'stack-stx',
9
34
  'delegate-stx',
@@ -11,9 +36,11 @@ exports.VALID_CONTRACT_FUNCTION_NAMES = [
11
36
  'stack-aggregation-commit',
12
37
  'revoke-delegate-stx',
13
38
  'send-many',
39
+ 'transfer',
40
+ 'initiate-withdrawal-request',
14
41
  ];
15
42
  exports.DEFAULT_SEED_SIZE_BYTES = 64;
16
43
  // https://github.com/stacksgov/sips/blob/main/sips/sip-005/sip-005-blocks-and-transactions.md#transaction-encoding
17
44
  exports.ANCHOR_MODE = 3;
18
45
  exports.DEFAULT_MULTISIG_SIG_NUMBER = 2;
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxzQkFBc0IsR0FBRyxXQUFXLENBQUM7QUFDckMsUUFBQSxzQkFBc0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUMxQyxRQUFBLHFCQUFxQixHQUFHLE9BQU8sQ0FBQztBQUVoQyxRQUFBLDZCQUE2QixHQUFHO0lBQzNDLFdBQVc7SUFDWCxjQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLDBCQUEwQjtJQUMxQixxQkFBcUI7SUFDckIsV0FBVztDQUNaLENBQUM7QUFFVyxRQUFBLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztBQUUxQyxtSEFBbUg7QUFDdEcsUUFBQSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLFFBQUEsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEZVTkNUSU9OX05BTUVfU0VORE1BTlkgPSAnc2VuZC1tYW55JztcbmV4cG9ydCBjb25zdCBDT05UUkFDVF9OQU1FX1NFTkRNQU5ZID0gJ3NlbmQtbWFueS1tZW1vJztcbmV4cG9ydCBjb25zdCBDT05UUkFDVF9OQU1FX1NUQUtJTkcgPSAncG94LTInO1xuXG5leHBvcnQgY29uc3QgVkFMSURfQ09OVFJBQ1RfRlVOQ1RJT05fTkFNRVMgPSBbXG4gICdzdGFjay1zdHgnLFxuICAnZGVsZWdhdGUtc3R4JyxcbiAgJ2RlbGVnYXRlLXN0YWNrLXN0eCcsXG4gICdzdGFjay1hZ2dyZWdhdGlvbi1jb21taXQnLFxuICAncmV2b2tlLWRlbGVnYXRlLXN0eCcsXG4gICdzZW5kLW1hbnknLFxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTID0gNjQ7XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zdGFja3Nnb3Yvc2lwcy9ibG9iL21haW4vc2lwcy9zaXAtMDA1L3NpcC0wMDUtYmxvY2tzLWFuZC10cmFuc2FjdGlvbnMubWQjdHJhbnNhY3Rpb24tZW5jb2RpbmdcbmV4cG9ydCBjb25zdCBBTkNIT1JfTU9ERSA9IDM7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NVUxUSVNJR19TSUdfTlVNQkVSID0gMjtcbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxzQkFBc0IsR0FBRyxXQUFXLENBQUM7QUFDckMsUUFBQSxzQkFBc0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUMxQyxRQUFBLHFCQUFxQixHQUFHLE9BQU8sQ0FBQztBQUNoQyxRQUFBLGtCQUFrQixHQUFHLE9BQU8sQ0FBQztBQUM3QixRQUFBLDRCQUE0QixHQUFHLENBQUMsNkJBQXFCLEVBQUUsMEJBQWtCLENBQUMsQ0FBQztBQUMzRSxRQUFBLHNCQUFzQixHQUFHLFVBQVUsQ0FBQztBQUNwQyxRQUFBLDZCQUE2QixHQUFHLGlCQUFpQixDQUFDO0FBQ2xELFFBQUEsaUNBQWlDLEdBQUcsNkJBQTZCLENBQUM7QUFFbEUsUUFBQSxtQkFBbUIsR0FBRyxPQUFPLENBQUM7QUFDOUIsUUFBQSwwQkFBMEIsR0FBRyxjQUFjLENBQUM7QUFDNUMsUUFBQSxxQkFBcUIsR0FBRyxTQUFTLENBQUM7QUFDbEMsUUFBQSwrQkFBK0IsR0FBRyxtQkFBbUIsQ0FBQztBQUN0RCxRQUFBLG9DQUFvQyxHQUFHLHdCQUF3QixDQUFDO0FBQ2hFLFFBQUEsc0NBQXNDLEdBQUcsMEJBQTBCLENBQUM7QUFDcEUsUUFBQSwyQkFBMkIsR0FBRyxlQUFlLENBQUM7QUFDOUMsUUFBQSxrQ0FBa0MsR0FBRyxpQ0FBaUMsQ0FBQztBQUN2RSxRQUFBLCtCQUErQixHQUFHLG1CQUFtQixDQUFDO0FBRXRELFFBQUEsa0NBQWtDLEdBQUc7SUFDaEQsMkJBQW1CO0lBQ25CLGtDQUEwQjtJQUMxQiw2QkFBcUI7SUFDckIsdUNBQStCO0lBQy9CLDhDQUFzQztJQUN0Qyw0Q0FBb0M7SUFDcEMsbUNBQTJCO0lBQzNCLDBDQUFrQztJQUNsQyx1Q0FBK0I7Q0FDaEMsQ0FBQztBQUVXLFFBQUEsNkJBQTZCLEdBQUc7SUFDM0MsV0FBVztJQUNYLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIsMEJBQTBCO0lBQzFCLHFCQUFxQjtJQUNyQixXQUFXO0lBQ1gsVUFBVTtJQUNWLDZCQUE2QjtDQUM5QixDQUFDO0FBRVcsUUFBQSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFFMUMsbUhBQW1IO0FBQ3RHLFFBQUEsV0FBVyxHQUFHLENBQUMsQ0FBQztBQUNoQixRQUFBLDJCQUEyQixHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBGVU5DVElPTl9OQU1FX1NFTkRNQU5ZID0gJ3NlbmQtbWFueSc7XG5leHBvcnQgY29uc3QgQ09OVFJBQ1RfTkFNRV9TRU5ETUFOWSA9ICdzZW5kLW1hbnktbWVtbyc7XG5leHBvcnQgY29uc3QgQ09OVFJBQ1RfTkFNRV9TVEFLSU5HID0gJ3BveC00JztcbmV4cG9ydCBjb25zdCBDT05UUkFDVF9OQU1FX1BPWDUgPSAncG94LTUnO1xuZXhwb3J0IGNvbnN0IFZBTElEX1NUQUtJTkdfQ09OVFJBQ1RfTkFNRVMgPSBbQ09OVFJBQ1RfTkFNRV9TVEFLSU5HLCBDT05UUkFDVF9OQU1FX1BPWDVdO1xuZXhwb3J0IGNvbnN0IEZVTkNUSU9OX05BTUVfVFJBTlNGRVIgPSAndHJhbnNmZXInO1xuZXhwb3J0IGNvbnN0IENPTlRSQUNUX05BTUVfU0JUQ19XSVRIRFJBV0FMID0gJ3NidGMtd2l0aGRyYXdhbCc7XG5leHBvcnQgY29uc3QgRlVOQ1RJT05fTkFNRV9JTklUSUFURV9XSVRIRFJBV0FMID0gJ2luaXRpYXRlLXdpdGhkcmF3YWwtcmVxdWVzdCc7XG5cbmV4cG9ydCBjb25zdCBGVU5DVElPTl9OQU1FX1NUQUtFID0gJ3N0YWtlJztcbmV4cG9ydCBjb25zdCBGVU5DVElPTl9OQU1FX1NUQUtFX1VQREFURSA9ICdzdGFrZS11cGRhdGUnO1xuZXhwb3J0IGNvbnN0IEZVTkNUSU9OX05BTUVfVU5TVEFLRSA9ICd1bnN0YWtlJztcbmV4cG9ydCBjb25zdCBGVU5DVElPTl9OQU1FX1JFR0lTVEVSX0ZPUl9CT05EID0gJ3JlZ2lzdGVyLWZvci1ib25kJztcbmV4cG9ydCBjb25zdCBGVU5DVElPTl9OQU1FX0FOTk9VTkNFX0wxX0VBUkxZX0VYSVQgPSAnYW5ub3VuY2UtbDEtZWFybHktZXhpdCc7XG5leHBvcnQgY29uc3QgRlVOQ1RJT05fTkFNRV9VUERBVEVfQk9ORF9SRUdJU1RSQVRJT04gPSAndXBkYXRlLWJvbmQtcmVnaXN0cmF0aW9uJztcbmV4cG9ydCBjb25zdCBGVU5DVElPTl9OQU1FX0NMQUlNX1JFV0FSRFMgPSAnY2xhaW0tcmV3YXJkcyc7XG5leHBvcnQgY29uc3QgRlVOQ1RJT05fTkFNRV9DTEFJTV9TVEFLRVJfUkVXQVJEUyA9ICdjbGFpbS1zdGFrZXItcmV3YXJkcy1mb3Itc2lnbmVyJztcbmV4cG9ydCBjb25zdCBGVU5DVElPTl9OQU1FX0NBTENVTEFURV9SRVdBUkRTID0gJ2NhbGN1bGF0ZS1yZXdhcmRzJztcblxuZXhwb3J0IGNvbnN0IFZBTElEX1BPWDVfQ09OVFJBQ1RfRlVOQ1RJT05fTkFNRVMgPSBbXG4gIEZVTkNUSU9OX05BTUVfU1RBS0UsXG4gIEZVTkNUSU9OX05BTUVfU1RBS0VfVVBEQVRFLFxuICBGVU5DVElPTl9OQU1FX1VOU1RBS0UsXG4gIEZVTkNUSU9OX05BTUVfUkVHSVNURVJfRk9SX0JPTkQsXG4gIEZVTkNUSU9OX05BTUVfVVBEQVRFX0JPTkRfUkVHSVNUUkFUSU9OLFxuICBGVU5DVElPTl9OQU1FX0FOTk9VTkNFX0wxX0VBUkxZX0VYSVQsXG4gIEZVTkNUSU9OX05BTUVfQ0xBSU1fUkVXQVJEUyxcbiAgRlVOQ1RJT05fTkFNRV9DTEFJTV9TVEFLRVJfUkVXQVJEUyxcbiAgRlVOQ1RJT05fTkFNRV9DQUxDVUxBVEVfUkVXQVJEUyxcbl07XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9DT05UUkFDVF9GVU5DVElPTl9OQU1FUyA9IFtcbiAgJ3N0YWNrLXN0eCcsXG4gICdkZWxlZ2F0ZS1zdHgnLFxuICAnZGVsZWdhdGUtc3RhY2stc3R4JyxcbiAgJ3N0YWNrLWFnZ3JlZ2F0aW9uLWNvbW1pdCcsXG4gICdyZXZva2UtZGVsZWdhdGUtc3R4JyxcbiAgJ3NlbmQtbWFueScsXG4gICd0cmFuc2ZlcicsXG4gICdpbml0aWF0ZS13aXRoZHJhd2FsLXJlcXVlc3QnLFxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTID0gNjQ7XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zdGFja3Nnb3Yvc2lwcy9ibG9iL21haW4vc2lwcy9zaXAtMDA1L3NpcC0wMDUtYmxvY2tzLWFuZC10cmFuc2FjdGlvbnMubWQjdHJhbnNhY3Rpb24tZW5jb2RpbmdcbmV4cG9ydCBjb25zdCBBTkNIT1JfTU9ERSA9IDM7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NVUxUSVNJR19TSUdfTlVNQkVSID0gMjtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"contractBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/contractBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAuC,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAKL,YAAY,EAKb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,eAAgB,SAAQ,uBAAuB;gBAC9C,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAUlC;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAWtC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWhC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWhC,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI;IAY7D,OAAO,CAAC,OAAO;CA8BhB"}
1
+ {"version":3,"file":"contractBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/contractBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAuC,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAKL,YAAY,EAQb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,eAAgB,SAAQ,uBAAuB;gBAC9C,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAUlC;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAWtC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAchC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWhC,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI;IAY7D,OAAO,CAAC,OAAO;CA2DhB"}
@@ -27,7 +27,7 @@ class ContractBuilder extends abstractContractBuilder_1.AbstractContractBuilder
27
27
  * @returns {ContractBuilder} the builder with the new parameter set
28
28
  */
29
29
  contractAddress(address) {
30
- if (!utils_1.isValidAddress(address)) {
30
+ if (!(0, utils_1.isValidAddress)(address)) {
31
31
  throw new sdk_core_1.InvalidParameterValueError('Invalid address');
32
32
  }
33
33
  if (!_1.Utils.isValidContractAddress(address, this._coinConfig.network)) {
@@ -46,8 +46,11 @@ class ContractBuilder extends abstractContractBuilder_1.AbstractContractBuilder
46
46
  if (name.length === 0) {
47
47
  throw new sdk_core_1.InvalidParameterValueError('Invalid name');
48
48
  }
49
- if (name !== constants_1.CONTRACT_NAME_STAKING && name !== constants_1.CONTRACT_NAME_SENDMANY) {
50
- throw new sdk_core_1.InvalidParameterValueError('Only pox-2 and send-many-memo contracts supported');
49
+ if (!constants_1.VALID_STAKING_CONTRACT_NAMES.includes(name) && name !== constants_1.CONTRACT_NAME_SENDMANY) {
50
+ throw new sdk_core_1.InvalidParameterValueError('Only pox-4, pox-5, and send-many-memo contracts supported');
51
+ }
52
+ if (this._functionName && !_1.Utils.isValidContractFunctionName(this._functionName, name)) {
53
+ throw new sdk_core_1.InvalidParameterValueError(`${this._functionName} is not supported contract function name`);
51
54
  }
52
55
  this._contractName = name;
53
56
  return this;
@@ -62,7 +65,7 @@ class ContractBuilder extends abstractContractBuilder_1.AbstractContractBuilder
62
65
  if (name.length === 0) {
63
66
  throw new sdk_core_1.InvalidParameterValueError('Invalid name');
64
67
  }
65
- if (!_1.Utils.isValidContractFunctionName(name)) {
68
+ if (!_1.Utils.isValidContractFunctionName(name, this._contractName)) {
66
69
  throw new sdk_core_1.InvalidParameterValueError(`${name} is not supported contract function name`);
67
70
  }
68
71
  this._functionName = name;
@@ -84,33 +87,62 @@ class ContractBuilder extends abstractContractBuilder_1.AbstractContractBuilder
84
87
  switch (arg.type) {
85
88
  case 'optional':
86
89
  if (arg.val === undefined) {
87
- return transactions_1.noneCV();
90
+ return (0, transactions_1.noneCV)();
88
91
  }
89
92
  else {
90
- return transactions_1.someCV(this.parseCv(arg.val));
93
+ return (0, transactions_1.someCV)(this.parseCv(arg.val));
94
+ }
95
+ case 'list':
96
+ if (arg.val instanceof Array) {
97
+ return (0, transactions_1.listCV)(arg.val.map((value) => this.parseCv(value)));
98
+ }
99
+ throw new sdk_core_1.InvalidParameterValueError('list requires Array val');
100
+ case 'response':
101
+ if (arg.val && typeof arg.val === 'object' && !Array.isArray(arg.val)) {
102
+ const response = arg.val;
103
+ if (response.type === 'ok' && response.val !== undefined) {
104
+ return (0, transactions_1.responseOkCV)(this.parseCv(response.val));
105
+ }
106
+ if (response.type === 'err' && response.val !== undefined) {
107
+ return (0, transactions_1.responseErrorCV)(this.parseCv(response.val));
108
+ }
91
109
  }
110
+ throw new sdk_core_1.InvalidParameterValueError('response requires { type: ok|err, val }');
92
111
  case 'tuple':
93
112
  if (arg.val instanceof Array) {
94
113
  const data = {};
95
114
  arg.val.forEach((a) => {
96
115
  data[a.key] = this.parseCv({ type: a.type, val: a.val });
97
116
  });
98
- return transactions_1.tupleCV(data);
117
+ return (0, transactions_1.tupleCV)(data);
99
118
  }
100
119
  throw new sdk_core_1.InvalidParameterValueError('tuple require Array val');
120
+ case 'contractPrincipal':
121
+ case 'contract-principal': {
122
+ if (typeof arg.val !== 'string') {
123
+ throw new sdk_core_1.InvalidParameterValueError('contract principal requires string val');
124
+ }
125
+ return (0, utils_1.contractPrincipalCVFromString)(arg.val);
126
+ }
127
+ case 'standardPrincipal':
128
+ case 'standard-principal':
129
+ if (typeof arg.val !== 'string') {
130
+ throw new sdk_core_1.InvalidParameterValueError('standard principal requires string val');
131
+ }
132
+ return (0, utils_1.standardPrincipalCVFromString)(arg.val);
101
133
  case 'buffer':
102
134
  if (arg.val instanceof Buffer) {
103
- return transactions_1.bufferCV(arg.val);
135
+ return (0, transactions_1.bufferCV)(arg.val);
104
136
  }
105
137
  const nval = Number(arg.val);
106
138
  if (nval) {
107
- return transactions_1.bufferCV(Buffer.of(nval));
139
+ return (0, transactions_1.bufferCV)(Buffer.of(nval));
108
140
  }
109
- return transactions_1.bufferCVFromString(arg.val);
141
+ return (0, transactions_1.bufferCVFromString)(arg.val);
110
142
  default:
111
- return transactions_1.encodeClarityValue(arg.type, arg.val);
143
+ return (0, transactions_1.encodeClarityValue)(arg.type, arg.val);
112
144
  }
113
145
  }
114
146
  }
115
147
  exports.ContractBuilder = ContractBuilder;
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb250cmFjdEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsdURBVThCO0FBQzlCLG1EQUFrRTtBQUVsRSxtQ0FBeUM7QUFFekMsd0JBQTBCO0FBQzFCLDJDQUE0RTtBQUM1RSx1RUFBb0U7QUFFcEUsTUFBYSxlQUFnQixTQUFRLGlEQUF1QjtJQUMxRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QiwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQseUJBQXlCO0lBQ3pCOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLE9BQWU7UUFDN0IsSUFBSSxDQUFDLHNCQUFjLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDNUIsTUFBTSxJQUFJLHFDQUEwQixDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDekQ7UUFDRCxJQUFJLENBQUMsUUFBSyxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQTZCLENBQUMsRUFBRTtZQUMxRixNQUFNLElBQUkscUNBQTBCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUNsRTtRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUM7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QUNELE9BQU8saUNBQWtCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDO2dCQUNFLE9BQU8saUNBQWtCLENBQUMsR0FBRyxDQUFDLElBQXNCLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2xFO0lBQ0gsQ0FBQztDQUNGO0FBNUdELDBDQTRHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcsIFN0YWNrc05ldHdvcmsgYXMgQml0Z29TdGFja3NOZXR3b3JrIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBidWZmZXJDVixcbiAgYnVmZmVyQ1ZGcm9tU3RyaW5nLFxuICBDbGFyaXR5QWJpVHlwZSxcbiAgQ2xhcml0eVR5cGUsXG4gIENsYXJpdHlWYWx1ZSxcbiAgZW5jb2RlQ2xhcml0eVZhbHVlLFxuICBub25lQ1YsXG4gIHNvbWVDVixcbiAgdHVwbGVDVixcbn0gZnJvbSAnQHN0YWNrcy90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgaXNWYWxpZEFkZHJlc3MgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IENsYXJpdHlWYWx1ZUpzb24gfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLic7XG5pbXBvcnQgeyBDT05UUkFDVF9OQU1FX1NFTkRNQU5ZLCBDT05UUkFDVF9OQU1FX1NUQUtJTkcgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyYWN0QnVpbGRlciB9IGZyb20gJy4vYWJzdHJhY3RDb250cmFjdEJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgQ29udHJhY3RCdWlsZGVyIGV4dGVuZHMgQWJzdHJhY3RDb250cmFjdEJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgLy8gUmV0cm8gY29tcGF0aWJpbGl0eSwgY2hlY2tzIHBhcmFtZXRlcnMuXG4gICAgdGhpcy5jb250cmFjdEFkZHJlc3ModGhpcy5fY29udHJhY3RBZGRyZXNzKTtcbiAgICB0aGlzLmNvbnRyYWN0TmFtZSh0aGlzLl9jb250cmFjdE5hbWUpO1xuICAgIHRoaXMuZnVuY3Rpb25OYW1lKHRoaXMuX2Z1bmN0aW9uTmFtZSk7XG4gICAgdGhpcy5mdW5jdGlvbkFyZ3ModGhpcy5fZnVuY3Rpb25BcmdzKTtcbiAgfVxuXG4gIC8vIHJlZ2lvbiBDb250cmFjdCBmaWVsZHNcbiAgLyoqXG4gICAqIFNldCB0aGUgY29udHJhY3QgYWRkcmVzc1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyB0aGUgYWRkcmVzcyBkZXBsb3llZCB0aGUgY29udHJhY3RcbiAgICogQHJldHVybnMge0NvbnRyYWN0QnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIGNvbnRyYWN0QWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgYWRkcmVzcycpO1xuICAgIH1cbiAgICBpZiAoIVV0aWxzLmlzVmFsaWRDb250cmFjdEFkZHJlc3MoYWRkcmVzcywgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrIGFzIEJpdGdvU3RhY2tzTmV0d29yaykpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBjb250cmFjdCBhZGRyZXNzJyk7XG4gICAgfVxuICAgIHRoaXMuX2NvbnRyYWN0QWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjb250cmFjdCBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIG5hbWUgb2YgY29udHJhY3RcbiAgICogQHJldHVybnMge0NvbnRyYWN0QnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIGNvbnRyYWN0TmFtZShuYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAobmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBuYW1lJyk7XG4gICAgfVxuICAgIGlmIChuYW1lICE9PSBDT05UUkFDVF9OQU1FX1NUQUtJTkcgJiYgbmFtZSAhPT0gQ09OVFJBQ1RfTkFNRV9TRU5ETUFOWSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdPbmx5IHBveC0yIGFuZCBzZW5kLW1hbnktbWVtbyBjb250cmFjdHMgc3VwcG9ydGVkJyk7XG4gICAgfVxuICAgIHRoaXMuX2NvbnRyYWN0TmFtZSA9IG5hbWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBmdW5jdGlvbiBuYW1lIGluIGNvbnRyYWN0XG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIG5hbWUgb2YgZnVuY3Rpb25cbiAgICogQHJldHVybnMge0NvbnRyYWN0QnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIGZ1bmN0aW9uTmFtZShuYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAobmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBuYW1lJyk7XG4gICAgfVxuICAgIGlmICghVXRpbHMuaXNWYWxpZENvbnRyYWN0RnVuY3Rpb25OYW1lKG5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoYCR7bmFtZX0gaXMgbm90IHN1cHBvcnRlZCBjb250cmFjdCBmdW5jdGlvbiBuYW1lYCk7XG4gICAgfVxuICAgIHRoaXMuX2Z1bmN0aW9uTmFtZSA9IG5hbWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmdW5jdGlvbkFyZ3MoYXJnczogQ2xhcml0eVZhbHVlSnNvbltdIHwgQ2xhcml0eVZhbHVlW10pOiB0aGlzIHtcbiAgICB0aGlzLl9mdW5jdGlvbkFyZ3MgPSBhcmdzLm1hcCgoYXJnKSA9PiB7XG4gICAgICBpZiAoIUNsYXJpdHlUeXBlW2FyZy50eXBlXSkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUN2KGFyZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBnb3QgZGlyZWN0IGNsYXJpdHkgdmFsdWUgYWZ0ZXIgZGVzZXJpYWxpemF0aW9uIGluIGZyb21JbXBsZW1lbnRhdGlvblxuICAgICAgICByZXR1cm4gYXJnO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUN2KGFyZzogQ2xhcml0eVZhbHVlSnNvbik6IENsYXJpdHlWYWx1ZSB7XG4gICAgc3dpdGNoIChhcmcudHlwZSkge1xuICAgICAgY2FzZSAnb3B0aW9uYWwnOlxuICAgICAgICBpZiAoYXJnLnZhbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIG5vbmVDVigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBzb21lQ1YodGhpcy5wYXJzZUN2KGFyZy52YWwpKTtcbiAgICAgICAgfVxuICAgICAgY2FzZSAndHVwbGUnOlxuICAgICAgICBpZiAoYXJnLnZhbCBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IHt9O1xuICAgICAgICAgIGFyZy52YWwuZm9yRWFjaCgoYSkgPT4ge1xuICAgICAgICAgICAgZGF0YVthLmtleV0gPSB0aGlzLnBhcnNlQ3YoeyB0eXBlOiBhLnR5cGUsIHZhbDogYS52YWwgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHR1cGxlQ1YoZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCd0dXBsZSByZXF1aXJlIEFycmF5IHZhbCcpO1xuICAgICAgY2FzZSAnYnVmZmVyJzpcbiAgICAgICAgaWYgKGFyZy52YWwgaW5zdGFuY2VvZiBCdWZmZXIpIHtcbiAgICAgICAgICByZXR1cm4gYnVmZmVyQ1YoYXJnLnZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbnZhbCA9IE51bWJlcihhcmcudmFsKTtcbiAgICAgICAgaWYgKG52YWwpIHtcbiAgICAgICAgICByZXR1cm4gYnVmZmVyQ1YoQnVmZmVyLm9mKG52YWwpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYnVmZmVyQ1ZGcm9tU3RyaW5nKGFyZy52YWwpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGVuY29kZUNsYXJpdHlWYWx1ZShhcmcudHlwZSBhcyBDbGFyaXR5QWJpVHlwZSwgYXJnLnZhbCk7XG4gICAgfVxuICB9XG59XG4iXX0=
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb250cmFjdEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsdURBYThCO0FBQzlCLG1EQUFrRTtBQUVsRSxtQ0FBdUc7QUFFdkcsd0JBQTBCO0FBQzFCLDJDQUFtRjtBQUNuRix1RUFBb0U7QUFFcEUsTUFBYSxlQUFnQixTQUFRLGlEQUF1QjtJQUMxRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QiwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQseUJBQXlCO0lBQ3pCOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLE9BQWU7UUFDN0IsSUFBSSxDQUFDLElBQUEsc0JBQWMsRUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLE1BQU0sSUFBSSxxQ0FBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxJQUFJLENBQUMsUUFBSyxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQTZCLENBQUMsRUFBRSxDQUFDO1lBQzNGLE1BQU0sSUFBSSxxQ0FBMEIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxJQUFJLENB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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnLCBTdGFja3NOZXR3b3JrIGFzIEJpdGdvU3RhY2tzTmV0d29yayB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgYnVmZmVyQ1YsXG4gIGJ1ZmZlckNWRnJvbVN0cmluZyxcbiAgQ2xhcml0eUFiaVR5cGUsXG4gIENsYXJpdHlUeXBlLFxuICBDbGFyaXR5VmFsdWUsXG4gIGVuY29kZUNsYXJpdHlWYWx1ZSxcbiAgbm9uZUNWLFxuICBsaXN0Q1YsXG4gIHJlc3BvbnNlRXJyb3JDVixcbiAgcmVzcG9uc2VPa0NWLFxuICBzb21lQ1YsXG4gIHR1cGxlQ1YsXG59IGZyb20gJ0BzdGFja3MvdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IGNvbnRyYWN0UHJpbmNpcGFsQ1ZGcm9tU3RyaW5nLCBpc1ZhbGlkQWRkcmVzcywgc3RhbmRhcmRQcmluY2lwYWxDVkZyb21TdHJpbmcgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IENsYXJpdHlWYWx1ZUpzb24gfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLic7XG5pbXBvcnQgeyBDT05UUkFDVF9OQU1FX1NFTkRNQU5ZLCBWQUxJRF9TVEFLSU5HX0NPTlRSQUNUX05BTUVTIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cmFjdEJ1aWxkZXIgfSBmcm9tICcuL2Fic3RyYWN0Q29udHJhY3RCdWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIENvbnRyYWN0QnVpbGRlciBleHRlbmRzIEFic3RyYWN0Q29udHJhY3RCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIC8vIFJldHJvIGNvbXBhdGliaWxpdHksIGNoZWNrcyBwYXJhbWV0ZXJzLlxuICAgIHRoaXMuY29udHJhY3RBZGRyZXNzKHRoaXMuX2NvbnRyYWN0QWRkcmVzcyk7XG4gICAgdGhpcy5jb250cmFjdE5hbWUodGhpcy5fY29udHJhY3ROYW1lKTtcbiAgICB0aGlzLmZ1bmN0aW9uTmFtZSh0aGlzLl9mdW5jdGlvbk5hbWUpO1xuICAgIHRoaXMuZnVuY3Rpb25BcmdzKHRoaXMuX2Z1bmN0aW9uQXJncyk7XG4gIH1cblxuICAvLyByZWdpb24gQ29udHJhY3QgZmllbGRzXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNvbnRyYWN0IGFkZHJlc3NcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3MgdGhlIGFkZHJlc3MgZGVwbG95ZWQgdGhlIGNvbnRyYWN0XG4gICAqIEByZXR1cm5zIHtDb250cmFjdEJ1aWxkZXJ9IHRoZSBidWlsZGVyIHdpdGggdGhlIG5ldyBwYXJhbWV0ZXIgc2V0XG4gICAqL1xuICBjb250cmFjdEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFkZHJlc3MnKTtcbiAgICB9XG4gICAgaWYgKCFVdGlscy5pc1ZhbGlkQ29udHJhY3RBZGRyZXNzKGFkZHJlc3MsIHRoaXMuX2NvaW5Db25maWcubmV0d29yayBhcyBCaXRnb1N0YWNrc05ldHdvcmspKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgY29udHJhY3QgYWRkcmVzcycpO1xuICAgIH1cbiAgICB0aGlzLl9jb250cmFjdEFkZHJlc3MgPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY29udHJhY3QgbmFtZVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBuYW1lIG9mIGNvbnRyYWN0XG4gICAqIEByZXR1cm5zIHtDb250cmFjdEJ1aWxkZXJ9IHRoZSBidWlsZGVyIHdpdGggdGhlIG5ldyBwYXJhbWV0ZXIgc2V0XG4gICAqL1xuICBjb250cmFjdE5hbWUobmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKG5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgbmFtZScpO1xuICAgIH1cbiAgICBpZiAoIVZBTElEX1NUQUtJTkdfQ09OVFJBQ1RfTkFNRVMuaW5jbHVkZXMobmFtZSkgJiYgbmFtZSAhPT0gQ09OVFJBQ1RfTkFNRV9TRU5ETUFOWSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdPbmx5IHBveC00LCBwb3gtNSwgYW5kIHNlbmQtbWFueS1tZW1vIGNvbnRyYWN0cyBzdXBwb3J0ZWQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2Z1bmN0aW9uTmFtZSAmJiAhVXRpbHMuaXNWYWxpZENvbnRyYWN0RnVuY3Rpb25OYW1lKHRoaXMuX2Z1bmN0aW9uTmFtZSwgbmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcihgJHt0aGlzLl9mdW5jdGlvbk5hbWV9IGlzIG5vdCBzdXBwb3J0ZWQgY29udHJhY3QgZnVuY3Rpb24gbmFtZWApO1xuICAgIH1cbiAgICB0aGlzLl9jb250cmFjdE5hbWUgPSBuYW1lO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZnVuY3Rpb24gbmFtZSBpbiBjb250cmFjdFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBuYW1lIG9mIGZ1bmN0aW9uXG4gICAqIEByZXR1cm5zIHtDb250cmFjdEJ1aWxkZXJ9IHRoZSBidWlsZGVyIHdpdGggdGhlIG5ldyBwYXJhbWV0ZXIgc2V0XG4gICAqL1xuICBmdW5jdGlvbk5hbWUobmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKG5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgbmFtZScpO1xuICAgIH1cbiAgICBpZiAoIVV0aWxzLmlzVmFsaWRDb250cmFjdEZ1bmN0aW9uTmFtZShuYW1lLCB0aGlzLl9jb250cmFjdE5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoYCR7bmFtZX0gaXMgbm90IHN1cHBvcnRlZCBjb250cmFjdCBmdW5jdGlvbiBuYW1lYCk7XG4gICAgfVxuICAgIHRoaXMuX2Z1bmN0aW9uTmFtZSA9IG5hbWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmdW5jdGlvbkFyZ3MoYXJnczogQ2xhcml0eVZhbHVlSnNvbltdIHwgQ2xhcml0eVZhbHVlW10pOiB0aGlzIHtcbiAgICB0aGlzLl9mdW5jdGlvbkFyZ3MgPSBhcmdzLm1hcCgoYXJnKSA9PiB7XG4gICAgICBpZiAoIUNsYXJpdHlUeXBlW2FyZy50eXBlXSkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUN2KGFyZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBnb3QgZGlyZWN0IGNsYXJpdHkgdmFsdWUgYWZ0ZXIgZGVzZXJpYWxpemF0aW9uIGluIGZyb21JbXBsZW1lbnRhdGlvblxuICAgICAgICByZXR1cm4gYXJnO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUN2KGFyZzogQ2xhcml0eVZhbHVlSnNvbik6IENsYXJpdHlWYWx1ZSB7XG4gICAgc3dpdGNoIChhcmcudHlwZSkge1xuICAgICAgY2FzZSAnb3B0aW9uYWwnOlxuICAgICAgICBpZiAoYXJnLnZhbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIG5vbmVDVigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBzb21lQ1YodGhpcy5wYXJzZUN2KGFyZy52YWwpKTtcbiAgICAgICAgfVxuICAgICAgY2FzZSAnbGlzdCc6XG4gICAgICAgIGlmIChhcmcudmFsIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICByZXR1cm4gbGlzdENWKGFyZy52YWwubWFwKCh2YWx1ZSkgPT4gdGhpcy5wYXJzZUN2KHZhbHVlKSkpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignbGlzdCByZXF1aXJlcyBBcnJheSB2YWwnKTtcbiAgICAgIGNhc2UgJ3Jlc3BvbnNlJzpcbiAgICAgICAgaWYgKGFyZy52YWwgJiYgdHlwZW9mIGFyZy52YWwgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KGFyZy52YWwpKSB7XG4gICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhcmcudmFsIGFzIHsgdHlwZT86IHN0cmluZzsgdmFsPzogQ2xhcml0eVZhbHVlSnNvbiB9O1xuICAgICAgICAgIGlmIChyZXNwb25zZS50eXBlID09PSAnb2snICYmIHJlc3BvbnNlLnZhbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2VPa0NWKHRoaXMucGFyc2VDdihyZXNwb25zZS52YWwpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnR5cGUgPT09ICdlcnInICYmIHJlc3BvbnNlLnZhbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2VFcnJvckNWKHRoaXMucGFyc2VDdihyZXNwb25zZS52YWwpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdyZXNwb25zZSByZXF1aXJlcyB7IHR5cGU6IG9rfGVyciwgdmFsIH0nKTtcbiAgICAgIGNhc2UgJ3R1cGxlJzpcbiAgICAgICAgaWYgKGFyZy52YWwgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSB7fTtcbiAgICAgICAgICBhcmcudmFsLmZvckVhY2goKGEpID0+IHtcbiAgICAgICAgICAgIGRhdGFbYS5rZXldID0gdGhpcy5wYXJzZUN2KHsgdHlwZTogYS50eXBlLCB2YWw6IGEudmFsIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiB0dXBsZUNWKGRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcigndHVwbGUgcmVxdWlyZSBBcnJheSB2YWwnKTtcbiAgICAgIGNhc2UgJ2NvbnRyYWN0UHJpbmNpcGFsJzpcbiAgICAgIGNhc2UgJ2NvbnRyYWN0LXByaW5jaXBhbCc6IHtcbiAgICAgICAgaWYgKHR5cGVvZiBhcmcudmFsICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignY29udHJhY3QgcHJpbmNpcGFsIHJlcXVpcmVzIHN0cmluZyB2YWwnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udHJhY3RQcmluY2lwYWxDVkZyb21TdHJpbmcoYXJnLnZhbCk7XG4gICAgICB9XG4gICAgICBjYXNlICdzdGFuZGFyZFByaW5jaXBhbCc6XG4gICAgICBjYXNlICdzdGFuZGFyZC1wcmluY2lwYWwnOlxuICAgICAgICBpZiAodHlwZW9mIGFyZy52YWwgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdzdGFuZGFyZCBwcmluY2lwYWwgcmVxdWlyZXMgc3RyaW5nIHZhbCcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdGFuZGFyZFByaW5jaXBhbENWRnJvbVN0cmluZyhhcmcudmFsKTtcbiAgICAgIGNhc2UgJ2J1ZmZlcic6XG4gICAgICAgIGlmIChhcmcudmFsIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICAgICAgcmV0dXJuIGJ1ZmZlckNWKGFyZy52YWwpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG52YWwgPSBOdW1iZXIoYXJnLnZhbCk7XG4gICAgICAgIGlmIChudmFsKSB7XG4gICAgICAgICAgcmV0dXJuIGJ1ZmZlckNWKEJ1ZmZlci5vZihudmFsKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJ1ZmZlckNWRnJvbVN0cmluZyhhcmcudmFsKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBlbmNvZGVDbGFyaXR5VmFsdWUoYXJnLnR5cGUgYXMgQ2xhcml0eUFiaVR5cGUsIGFyZy52YWwpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,62 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { ClarityValue, ContractCallPayload } from '@stacks/transactions';
3
+ import { AbstractContractBuilder } from './abstractContractBuilder';
4
+ import { Transaction } from './transaction';
5
+ export declare class FungibleTokenTransferBuilder extends AbstractContractBuilder {
6
+ private _fungibleTokenTransferParams;
7
+ private _tokenName;
8
+ constructor(_coinConfig: Readonly<CoinConfig>);
9
+ initBuilder(tx: Transaction): void;
10
+ /** @inheritdoc */
11
+ protected buildImplementation(): Promise<Transaction>;
12
+ /**
13
+ * Function to check if a transaction is a fungible token contract call
14
+ *
15
+ * @param {ContractCallPayload} payload
16
+ * @returns {Boolean}
17
+ */
18
+ static isFungibleTokenTransferContractCall(payload: ContractCallPayload): boolean;
19
+ /**
20
+ * Set the token name
21
+ *
22
+ * @param {String} tokenName name of the token (@define-fungible-token value)
23
+ * @returns {FungibleTokenTransferBuilder} This token transfer builder
24
+ */
25
+ tokenName(tokenName: string): this;
26
+ /**
27
+ * Validate contract address
28
+ *
29
+ * @param {String} address contract address
30
+ * @returns {FungibleTokenTransferBuilder} This token transfer builder
31
+ */
32
+ contractAddress(address: string): this;
33
+ /**
34
+ * Validate contract name
35
+ *
36
+ * @param {String} name contract name
37
+ * @returns {FungibleTokenTransferBuilder} This token transfer builder
38
+ */
39
+ contractName(name: string): this;
40
+ /**
41
+ * Validate function name
42
+ *
43
+ * @param {String} name function name
44
+ * @returns {FungibleTokenTransferBuilder} This token transfer builder
45
+ */
46
+ functionName(name: string): this;
47
+ /**
48
+ * Validate function arguments
49
+ *
50
+ * @param {ClarityValue[]} args array of clarity value as arguments
51
+ * @returns {FungibleTokenTransferBuilder} This token transfer builder
52
+ */
53
+ functionArgs(args: ClarityValue[]): this;
54
+ /**
55
+ * Function to convert token transfer params to post condition
56
+ *
57
+ * @param {TokenTransferParams} tokenTransferParams
58
+ * @returns {PostCondition[]} returns stx fungible post condition
59
+ */
60
+ private tokenTransferParamsToPostCondition;
61
+ }
62
+ //# sourceMappingURL=fungibleTokenTransferBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fungibleTokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/fungibleTokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAe,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EAGL,YAAY,EACZ,mBAAmB,EAKpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAW5C,qBAAa,4BAA6B,SAAQ,uBAAuB;IACvE,OAAO,CAAC,4BAA4B,CAAsB;IAC1D,OAAO,CAAC,UAAU,CAAS;gBACf,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAWlC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAQ3D;;;;;OAKG;WACW,mCAAmC,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAIxF;;;;;OAKG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKlC;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQtC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQhC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWhC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI;IASxC;;;;;OAKG;IACH,OAAO,CAAC,kCAAkC;CAwB3C"}